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-2025 Igor Salnikov aka SunDoctor