Spec-Zone.ru › Yii 1.1

CHasManyRelation

Пакет system.db.ar
Наследование class CHasManyRelation » CActiveRelation » CBaseActiveRelation » CComponent
Подклассы CManyManyRelation
С момента 1.0
Исходный код framework/db/ar/CActiveRecord.php
CHasManyRelation представляет параметры, определяющие отношение HAS_MANY.

Общедоступные свойства

Свойство Тип Описание Определено в
alias string псевдоним таблицы, на которую ссылается данное отношение. CActiveRelation
className string имя связанного класса активной записи CBaseActiveRelation
condition string запрос WHERE. CBaseActiveRelation
foreignKey mixed внешний ключ в данном отношении CBaseActiveRelation
group string запрос GROUP BY. CBaseActiveRelation
having string запрос HAVING. CBaseActiveRelation
index string имя столбца, который должен использоваться в качестве ключа для хранения связанных объектов. CHasManyRelation
join string способ объединения с другими таблицами. CBaseActiveRelation
joinOptions string|array свойство для установки пост-операций JOIN, таких как USE INDEX. CBaseActiveRelation
joinType string тип объединения. CActiveRelation
limit integer ограничение на количество строк для выбора. CHasManyRelation
name string имя связанного объекта CBaseActiveRelation
offset integer смещение строк для выбора. CHasManyRelation
on string запрос ON. CActiveRelation
order string запрос ORDER BY. CBaseActiveRelation
params array параметры, которые будут привязаны к условию. CBaseActiveRelation
scopes mixed применяемые области видимости. Могут быть установлены следующим образом:
  • Единая область видимости: 'scopes'=>'scopeName'.
CActiveRelation
select mixed список имён столбцов (массив или строка имён, разделенных запятыми) для выбора. CBaseActiveRelation
through string имя отношения, которое должно использоваться в качестве моста к данному отношению. CActiveRelation
together boolean необходимо ли объединять данную таблицу с основной таблицей. CActiveRelation
with string|array указывается, какие связанные объекты должны быть загружены при ленивой загрузке связанного объекта. CActiveRelation

Общедоступные методы

Метод Описание Определено в
__call() Вызывает метод по имени, который не является методом класса. CComponent
__construct() Конструктор. CBaseActiveRelation
__get() Возвращает значение свойства, список обработчиков событий или поведение по имени. CComponent
__isset() Проверяет, является ли значение свойства нулевым. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в значение null. CComponent
asa() Возвращает объект поведения по имени. CComponent
attachBehavior() Присоединяет поведение к данному компоненту. CComponent
attachBehaviors() Присоединяет список поведений к компоненту. CComponent
attachEventHandler() Присоединяет обработчик событий к событию. CComponent
canGetProperty() Определяет, может ли свойство быть прочитано. CComponent
canSetProperty() Определяет, может ли свойство быть установлено. CComponent
detachBehavior() Отсоединяет поведение от компонента. CComponent
detachBehaviors() Отсоединяет все поведения от компонента. CComponent
detachEventHandler() Отсоединяет существующий обработчик событий. CComponent
disableBehavior() Отключает присоединённое поведение. CComponent
disableBehaviors() Отключает все присоединённые поведения к данному компоненту. CComponent
enableBehavior() Включает присоединённое поведение. CComponent
enableBehaviors() Включает все присоединённые поведения к данному компоненту. CComponent
evaluateExpression() Вычисляет PHP-выражение или обратный вызов в контексте данного компонента. CComponent
getEventHandlers() Возвращает список присоединённых обработчиков событий для события. CComponent
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли присоединённые обработчики для события с заданным именем. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
mergeWith() Объединяет данное отношение с критериями, заданными динамически. CHasManyRelation
raiseEvent() Вызывает событие. CComponent

Подробности о свойствах

index свойство

public string $index;

имя столбца, который должен использоваться в качестве ключа для хранения связанных объектов. По умолчанию равно null, что означает использование целочисленных идентификаторов, начинающихся с нуля.

limit свойство

public integer $limit;

предел строк, которые должны быть выбраны. Действует только для леничной загрузки этого связанного объекта. По умолчанию равен -1, что означает отсутствие ограничения.

offset свойство

public integer $offset;

смещение строк, которые должны быть выбраны. Действует только для леничной загрузки этого связанного объекта. По умолчанию равен -1, что означает отсутствие смещения.

Подробное описание методов

mergeWith() метод

public void mergeWith(array $criteria, boolean $fromScope=false)
$criteria массив динамически заданные критерии
$fromScope логическое значение являются ли критерии, которые будут объединены, из области видимости
Исходный код: framework/db/ar/CActiveRecord.php#2279 (показать)
public function mergeWith($criteria,$fromScope=false)
{
    if(
$criteria instanceof CDbCriteria)
        
$criteria=$criteria->toArray();
    
parent::mergeWith($criteria,$fromScope);
    if(isset(
$criteria['limit']) && $criteria['limit']>0)
        
$this->limit=$criteria['limit'];

    if(isset(
$criteria['offset']) && $criteria['offset']>=0)
        
$this->offset=$criteria['offset'];

    if(isset(
$criteria['index']))
        
$this->index=$criteria['index'];
}

Объединяет это отношение с динамически заданными критериями.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CHasManyRelation

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API