Сортировка по полю (many to many)

Добрый день.

Есть три таблички:

Оборудование:

tbl_equipment (eq_id, eq_title, eq_description, eq_amt)

Офис:

tbl_office (of_id, of_title, of_num, of_description)

Таблица связей:

tbl_eq_of (of_id, eq_id, status)

В Модели Office прописана реляция:


'equipment' => array(self::MANY_MANY, 'Equipment', '{{eq_of}}(of_id, eq_id)'),

Все прекрасно работает, когда просто нужен список техники из view Офиса:




$items = $model->equipment;

foreach($items as $item) {

    echo $item->eq_title . '<br />';

}



Но нужно этот список разбить на несколько списков по полю status [integer] с заголовками Статус 1, Статус 2… Статусы и количество статусов нам неизвестно.

Думаю нужно обернуть foreach в еще один foreach, но что в нем прописать??

На сколько я помню для MANY_MANY так не получиться сделать, переделай под HAS_MANY и используй статус

Спасибо за наводку, нашел такой путь:

Model Relation:


'eqRell' => array(self::HAS_MANY, 'Equipment', 'Equipmentoffice'),			

'eqHas' => array(self::HAS_MANY, 'Equipment', 'of_id', 'through' => 'eqRell'),

View:


$itemers = Equipment::model()->with('eqRell','eqHas')->findByPk('eq_id');


foreach($itemers as $itemer) {

	echo $itemer->status . '<br />';

}

Но работать не хочет…

Пишет:

Отношение "eqRell" не было определено в active record классе "Equipment".

Связь не правильно указана, если нужно с Office вытянуть tbl_equipment то я бы для таблицы tbl_eq_of создал модель

в ней добавил PK и уже с неё вытягивал бы, по другому вытянуть реляцию в данный момент не знаю как ещё