Всем хай
Есть у меня модель категорий. Дерево вида id->idParent
class Cats extends CActiveRecord
{
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function relations()
{
return array(
'info' => array(self::HAS_ONE, 'Content', "idIndex"),
'child' => array(self::HAS_MANY, 'Cats', "idParent"),
);
}
public function tableName()
{
return 'index';
}
}
Как понятно child идет связка на самом себе что б достать детей. А info - связка с таблицей для получения информации по узлу (название, url и тп).
Проблемы в работе такой системы нету. Все работает, все отлично.
Одно единственное НО оно достает мне детей не ограниченной вложенности пока они существуют. Т.е. написав:
Cats::model()->with('child', 'info')->together()->findByPk(1);
я получу всех детей раздела 1. у всех этих детей получу их детей. у тех самых детей тоже их детей получу и так до посинения пока не дойдет до последнего узла. это конечно клёво, но всё таки весьма ресурсоемко.
поэтому прошу помощи, как можно ограничить кол-во вложенности до 2х к примеру? Что б достало 1 узел и его детей, у этих детей достало их детей и все.