CDbCriteria. Свойства

$criteria = new CDbCriteria();

$criteria->alias = 'tbl';
// string
// алиас (псевдоним) таблицы. Если не задан, будет использован 't'.

$criteria->condition = 'age>31 AND team=1';
// string
// условие запроса (соответствует оператору WHERE)

$criteria->distinct = true;
// boolean
// выбирает только различные записи (исключение дубликатов). Если установлено значение true, то условие SELECT будет заменено на SELECT DISTINCT

$criteria->group = 'projectID, teamID';
// string
// как группировать результаты запроса (соответствует оператору GROUP BY)

$criteria->having = 'SUM(revenue)<50000';
// string
// условие, которое должно быть использовано с GROUP-BY

$criteria->index = 'fullname';
// string
// имя атрибута AR, значение которого следует использовать в качестве индекса массива результата запроса. По умолчанию null, то есть результатный массив будет иметь целочисленный индекс, начиная с 0

$criteria->join = 'LEFT JOIN users ON users.id=authorID';
// string
// как "джойнить" другие таблицы

$criteria->limit = 20;
// integer
// параметр для ограничения количества строк в выборке. Если указано значение меньше 0, то вернет все записи

$criteria->offset = '';
// integer 
// параметр для указания начальной строки выборки. Если меньше 0, то вернет записи, начиная с первой

$criteria->order = 'title ASC, timemod DESC';
// string
// сортировка результатов запроса (соответствует оператору ORDER BY)

$criteria->paramCount = 0;
// array 
// глобальный счетчик анонимных связанных параметров. Данный счетчик используется для генерации имен анонимных параметров

$criteria->params = array(':name'=>'Dan', ':age'=>31);
// array 
// список значений плейсхолдеров параметров запроса

$criteria->scopes = array('scopeName1','scopeName2');
// mixed
// группы условий, которые необходимо применить. В случае одной группы может использоваться как 'scopes'=>'scopeName'. Если же групп несколько, то используется как 'scopes'=>array('scopeName1','scopeName2')

$criteria->select = 'id, title';
$criteria->select = array('id', 'title');
// mixed 
// поля для выборки(SELECT). Могут быть указаны строкой или массивом. По умолчанию '*', т.е. все поля

$criteria->together = true;
// boolean 
// параметр, устанавливающий необходимость принудительного объединения таблицы, ассоциированной с этой связью, с другими таблицами. Этот параметр имеет смысл только для связей типов HAS_MANY и MANY_MANY. 
// Если данный параметр равен true, зависимая таблица при запросе будет всегда объединяться с основной, то есть будет сделан один запрос даже в том случае, если к основной таблице применяется постраничная разбивка. 
// Если параметр не установлен или равен false, тогда каждая связь HAS_MANY или MANY_MANY будет использовать отдельный SQL запрос для связанных данных, что может улучшить скорость выполнения запроса т.к. уменьшается количество выбираемых данных. 
// Если данный параметр не задан, зависимая таблица будет объединена с основной только в случае, когда к основной таблице не применяется постраничная разбивка.

$criteria->with = array( 'author.profile', 'author.posts' );
// mixed 
// список связанных объектов, которые должны быть загружены с самим объектом. Подробнее об использовании необходимо смотреть в документации метода CActiveRecord::with()

Комментарии

  1. Спасибо! Не где не мог найти внятный список свойств с примерами!

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения