select: список выбираемых полей. По умолчанию значение '*' condition: соответствует SQL оператору WHERE params: параметры для SQL-выражения. Параметры передаются как массив имя-значение. on: соответствует SQL оператору ON. Условие, указанное в этом параметре, будет при помощи SQL оператора AND. Неприменим для связей MANY_MANY. order: соответствует SQL оператору ORDER BY with: список дочерних связанных объектов, которые должны быть загружены с самим объектом joinType: тип соединения таблиц. По умолчанию значение параметра LEFT OUTER JOIN; alias: псевдоним таблицы, ассоциированной со связью. По умолчанию значение параметра равняется null together: параметр, устанавливающий необходимость принудительного соединения таблицы. Этот параметр имеет смысл только для связей типов HAS_MANY и MANY_MANY. Если параметр не установлен или равен false, тогда каждая связь HAS_MANY или MANY_MANY будет использовать отдельный SQL-запрос для связанных данных Если параметр равен true, то зависимая таблица при выполнении запроса всегда будет соединяться с основной, то есть будет выполнен один SQL-запрос. join: дополнительный оператор JOIN. По умолчанию пуст group: соответствует SQL оператору GROUP BY, по умолчанию значение параметра пустое. having: соответствует SQL оператору HAVING, по умолчанию значение параметра пустое index: имя столбца таблицы, значения которого должны быть использованы в качестве ключей массива, хранящего связанные объекты. Только для связей типа HAS_MANY и MANY_MANY. scopes: группы условий, которые необходимо применить. Группы необходимо перечислить в массиве 'scopes'=>array('scopeName1','scopeName2') limit: параметр для ограничения количества строк в выборке. Параметр неприменим для связей BELONGS_TO offset: параметр для указания начальной строки выборки. Параметр неприменим для связей BELONGS_TO. through: имя связи модели, которое при получении данных будет использоваться как мост. Параметр может быть установлен только для связей HAS_ONE и HAS_MANY К примеру class User extends CActiveRecord { public function relations() { return array( 'posts'=>array(self::HAS_MANY, 'Post', 'author_id', 'order'=>'posts.create_time DESC', 'with'=>'categories'), 'profile'=>array(self::HAS_ONE, 'Profile', 'owner_id'), ); } } Параметры могут быть динамическими - они переопределяются методом with() или просто вызовом свойства с аргументом User::model()->with(array( 'posts'=>array('order'=>'posts.create_time ASC'), 'profile', ))->findAll(); // или так $user=User::model()->findByPk(1); $posts=$user->posts(array('condition'=>'status=1'));
Yii Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor