Spec-Zone.ru › Yii 2.0

Абстрактный класс yii\db\BaseActiveRecord

Все классы | Свойства | Методы | События | Константы
Наследование yii\db\BaseActiveRecord » yii\base\Model » yii\base\Component » yii\base\Object
Реализует ArrayAccess, IteratorAggregate, yii\base\Arrayable, yii\base\Configurable, yii\db\ActiveRecordInterface
Использует Трейты yii\base\ArrayableTrait
Подклассы yii\db\ActiveRecord, yii\elasticsearch\ActiveRecord, yii\mongodb\ActiveRecord, yii\mongodb\file\ActiveRecord, yii\redis\ActiveRecord, yii\sphinx\ActiveRecord
Доступен с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/db/BaseActiveRecord.php

ActiveRecord — базовый класс для классов, представляющих реляционные данные в виде объектов.

См. yii\db\ActiveRecord для конкретной реализации.

Открытые свойства

Свойство Тип Описание Определено в
$activeValidators yii\validators\Validator[] Валидаторы, применимые к текущему $scenario. yii\base\Model
$attributes массив Значения атрибутов (имя => значение). yii\base\Model
$behaviors yii\base\Behavior[] Список поведений, присоединённых к этому компоненту yii\base\Component
$dirtyAttributes массив Изменённые значения атрибутов (пары имя-значение) yii\db\BaseActiveRecord
$errors массив Ошибки для всех атрибутов или указанного атрибута. yii\base\Model
$firstErrors массив Первые ошибки. yii\base\Model
$isNewRecord логическое Является ли запись новой и должна ли она быть вставлена при вызове save(). yii\db\BaseActiveRecord
$iterator ArrayIterator Итератор для обхода элементов в списке. yii\base\Model
$oldAttributes массив Старые значения атрибутов (пары имя-значение) yii\db\BaseActiveRecord
$oldPrimaryKey смешанный Старое значение первичного ключа. yii\db\BaseActiveRecord
$primaryKey смешанный Значение первичного ключа. yii\db\BaseActiveRecord
$relatedRecords массив Массив связанных записей, индексированный по именам отношений. yii\db\BaseActiveRecord
$scenario строка Сценарий, в котором находится эта модель. yii\base\Model
$validators ArrayObject|yii\validators\Validator[] Все валидаторы, объявленные в модели. yii\base\Model

Открытые методы

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. yii\base\Object
__clone() Этот метод вызывается после создания объекта путем клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Object
__get() Магический метод PHP для получения свойств. yii\db\BaseActiveRecord
__isset() Проверяет, является ли значение свойства равным null. yii\db\BaseActiveRecord
__set() Магический метод PHP для установки свойств. yii\db\BaseActiveRecord
__unset() Устанавливает свойство компонента в значение null. yii\db\BaseActiveRecord
activeAttributes() Возвращает имена атрибутов, которые подлежат валидации в текущем сценарии. yii\base\Model
addError() Добавляет новую ошибку для указанного атрибута. yii\base\Model
addErrors() Добавляет список ошибок. yii\base\Model
afterDelete() Этот метод вызывается после удаления записи. yii\db\BaseActiveRecord
afterFind() Этот метод вызывается, когда объект AR создается и заполняется результатом запроса. yii\db\BaseActiveRecord
afterRefresh() Этот метод вызывается при обновлении объекта AR. yii\db\BaseActiveRecord
afterSave() Этот метод вызывается в конце вставки или обновления записи. yii\db\BaseActiveRecord
afterValidate() Этот метод вызывается после завершения валидации. yii\base\Model
attachBehavior() Прикрепляет поведение к этому компоненту. yii\base\Component
attachBehaviors() Прикрепляет список поведений к компоненту. yii\base\Component
attributeHints() Возвращает подсказки к атрибутам. yii\base\Model
attributeLabels() Возвращает метки атрибутов. yii\base\Model
attributes() Возвращает список всех имён атрибутов записи. yii\db\ActiveRecordInterface
beforeDelete() Этот метод вызывается перед удалением записи. yii\db\BaseActiveRecord
beforeSave() Этот метод вызывается в начале вставки или обновления записи. yii\db\BaseActiveRecord
beforeValidate() Этот метод вызывается перед началом валидации. yii\base\Model
behaviors() Возвращает список поведений, которые должен иметь этот компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\db\BaseActiveRecord
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\db\BaseActiveRecord
className() Возвращает полное имя этого класса. yii\base\Object
clearErrors() Удаляет ошибки для всех атрибутов или одного атрибута. yii\base\Model
createValidators() Создаёт объекты валидаторов на основе правил валидации, указанных в rules(). yii\base\Model
delete() Удаляет строку таблицы, соответствующую этому активному записям. yii\db\BaseActiveRecord
deleteAll() Удаляет строки в таблице, используя предоставленные условия. yii\db\BaseActiveRecord
detachBehavior() Открепляет поведение от компонента. yii\base\Component
detachBehaviors() Открепляет все поведения от компонента. yii\base\Component
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. yii\base\Component
equals() Возвращает значение, указывающее, является ли данная активная запись такой же, как текущая. yii\db\BaseActiveRecord
extraFields() Возвращает список полей, которые можно дополнительно расширить и вернуть методом toArray(). yii\db\BaseActiveRecord
fields() Возвращает список полей, которые должны возвращаться по умолчанию методом toArray(), если не указаны определённые поля. yii\db\BaseActiveRecord
find() Создает экземпляр yii\db\ActiveQueryInterface для целей запроса. yii\db\ActiveRecordInterface
findAll() Возвращает список моделей активных записей, соответствующих указанному(ым) значению(ям) первичного ключа или набору значений столбцов. yii\db\BaseActiveRecord
findOne() Возвращает единственную модель активной записи по первичному ключу или массиву значений столбцов. yii\db\BaseActiveRecord
formName() Возвращает имя формы, которое должен использовать этот класс модели. yii\base\Model
generateAttributeLabel() Генерирует метку атрибута, удобную для пользователя, на основе заданного имени атрибута. yii\base\Model
getActiveValidators() Возвращает валидаторы, применимые к текущему $scenario. yii\base\Model
getAttribute() Возвращает значение именованного атрибута. yii\db\BaseActiveRecord
getAttributeHint() Возвращает подсказку для указанного атрибута. yii\db\BaseActiveRecord
getAttributeLabel() Возвращает текстовую метку для указанного атрибута. yii\db\BaseActiveRecord
getAttributes() Возвращает значения атрибутов. yii\base\Model
getBehavior() Возвращает объект поведения с указанным именем. yii\base\Component
getBehaviors() Возвращает все присоединенные к данному компоненту поведения. yii\base\Component
getDb() Возвращает подключение, используемое этим классом AR. yii\db\ActiveRecordInterface
getDirtyAttributes() Возвращает значения атрибутов, которые были изменены с момента их последней загрузки или сохранения. yii\db\BaseActiveRecord
getErrors() Возвращает ошибки для всех атрибутов или для отдельного атрибута. yii\base\Model
getFirstError() Возвращает первую ошибку указанного атрибута. yii\base\Model
getFirstErrors() Возвращает первую ошибку для каждого атрибута в модели. yii\base\Model
getIsNewRecord() Возвращает значение, указывающее, является ли текущая запись новой. yii\db\BaseActiveRecord
getIterator() Возвращает итератор для обхода атрибутов в модели. yii\base\Model
getOldAttribute() Возвращает старое значение указанного атрибута. yii\db\BaseActiveRecord
getOldAttributes() Возвращает старые значения атрибутов. yii\db\BaseActiveRecord
getOldPrimaryKey() Возвращает старое значение(я) первичного ключа. yii\db\BaseActiveRecord
getPrimaryKey() Возвращает значение(я) первичного ключа. yii\db\BaseActiveRecord
getRelatedRecords() Возвращает все связанные записи. yii\db\BaseActiveRecord
getRelation() Возвращает объект отношения с указанным именем. yii\db\BaseActiveRecord
getScenario() Возвращает сценарий, в котором используется эта модель. yii\base\Model
getValidators() Возвращает все валидаторы, объявленные в rules(). yii\base\Model
hasAttribute() Возвращает значение, указывающее, есть ли у модели атрибут с указанным именем. yii\db\BaseActiveRecord
hasErrors() Возвращает значение, указывающее, есть ли ошибки валидации. yii\base\Model
hasEventHandlers() Возвращает значение, указывающее, есть ли обработчики, присоединённые к указанному событию. yii\base\Component
hasMany() Объявляет has-many отношение. yii\db\BaseActiveRecord
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Object
hasOne() Объявляет has-one отношение. yii\db\BaseActiveRecord
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует объект. yii\db\BaseActiveRecord
insert() Вставляет запись в базу данных, используя значения атрибутов этой записи. yii\db\ActiveRecordInterface
instantiate() Создаёт экземпляр активной записи. yii\db\BaseActiveRecord
isAttributeActive() Возвращает значение, указывающее, активен ли атрибут в текущем сценарии. yii\base\Model
isAttributeChanged() Возвращает значение, указывающее, был ли изменён указанный атрибут. yii\db\BaseActiveRecord
isAttributeRequired() Возвращает значение, указывающее, является ли атрибут обязательным. yii\base\Model
isAttributeSafe() Возвращает значение, указывающее, является ли атрибут безопасным для массовых назначений. yii\base\Model
isPrimaryKey() Возвращает значение, указывающее, представляет ли данный набор атрибутов первичный ключ для данной модели. yii\db\BaseActiveRecord
isRelationPopulated() Проверяет, была ли указанная связь заполнена записями. yii\db\BaseActiveRecord
link() Устанавливает связь между двумя моделями. yii\db\BaseActiveRecord
load() Заполняет модель входными данными. yii\base\Model
loadMultiple() Заполняет набор моделей данными от пользователя. yii\base\Model
markAttributeDirty() Помечает атрибут как изменённый. yii\db\BaseActiveRecord
off() Отсоединяет существующий обработчик событий от этого компонента. yii\base\Component
offsetExists() Возвращает, есть ли элемент по указанному смещению. yii\db\BaseActiveRecord
offsetGet() Возвращает элемент по указанному смещению. yii\base\Model
offsetSet() Устанавливает элемент по указанному смещению. yii\base\Model
offsetUnset() Устанавливает значение элемента по указанному смещению в null. yii\db\BaseActiveRecord
on() Присоединяет обработчик события к событию. yii\base\Component
onUnsafeAttribute() Этот метод вызывается, когда атрибут небезопасный присваивается массивно. yii\base\Model
optimisticLock() Возвращает имя столбца, хранящего версию блокировки для реализации оптимстической блокировки. yii\db\BaseActiveRecord
populateRecord() Заполняет объект активной записи строкой данных из базы данных/хранилища. yii\db\BaseActiveRecord
populateRelation() Заполняет указанное отношение связанными записями. yii\db\BaseActiveRecord
primaryKey() Возвращает имя(на) первичного ключа для этого класса AR. yii\db\ActiveRecordInterface
refresh() Перезаполняет эту активную запись последними данными. yii\db\BaseActiveRecord
rules() Возвращает правила валидации для атрибутов. yii\base\Model
safeAttributes() Возвращает имена атрибутов, которые безопасно назначить массово в текущей ситуации. yii\base\Model
save() Сохраняет текущую запись. yii\db\BaseActiveRecord
scenarios() Возвращает список сценариев и соответствующие активные атрибуты. yii\base\Model
setAttribute() Устанавливает значение указанного атрибута. yii\db\BaseActiveRecord
setAttributes() Устанавливает значения атрибутов массовым способом. yii\base\Model
setIsNewRecord() Устанавливает значение, указывающее, является ли запись новой. yii\db\BaseActiveRecord
setOldAttribute() Устанавливает старое значение указанного атрибута. yii\db\BaseActiveRecord
setOldAttributes() Устанавливает старые значения атрибутов. yii\db\BaseActiveRecord
setScenario() Устанавливает сценарий для модели. yii\base\Model
toArray() Преобразует модель в массив. yii\base\ArrayableTrait
trigger() Вызывает событие. yii\base\Component
unlink() Удаляет связь между двумя моделями. yii\db\BaseActiveRecord
unlinkAll() Удаляет связь в текущей модели. yii\db\BaseActiveRecord
update() Сохраняет изменения в эту активную запись в связанную таблицу базы данных. yii\db\BaseActiveRecord
updateAll() Обновляет всю таблицу, используя предоставленные значения атрибутов и условия. yii\db\BaseActiveRecord
updateAllCounters() Обновляет всю таблицу, используя предоставленные изменения счётчиков и условия. yii\db\BaseActiveRecord
updateAttributes() Обновляет указанные атрибуты. yii\db\BaseActiveRecord
updateCounters() Обновляет один или несколько счётчиков столбцов для текущего объекта AR. yii\db\BaseActiveRecord
validate() Выполняет валидацию данных. yii\base\Model
validateMultiple() Проверяет несколько моделей. yii\base\Model

Защищённые методы

Метод Описание Определено в
createRelationQuery() Создаёт экземпляр запроса для отношения has-one или has-many. yii\db\BaseActiveRecord
findByCondition() Находит экземпляр(ы) ActiveRecord по заданному условию. yii\db\BaseActiveRecord
resolveFields() Определяет, какие поля могут быть возвращены методом toArray(). yii\base\ArrayableTrait
updateInternal() yii\db\BaseActiveRecord

События

Событие Тип Описание Определено в
EVENT_AFTER_DELETE yii\base\Event Событие, которое срабатывает после удаления записи. yii\db\BaseActiveRecord
EVENT_AFTER_FIND yii\base\Event Событие, которое срабатывает после создания записи и заполнения её результатом запроса. yii\db\BaseActiveRecord
EVENT_AFTER_INSERT yii\db\AfterSaveEvent Событие, которое срабатывает после вставки записи. yii\db\BaseActiveRecord
EVENT_AFTER_REFRESH yii\base\Event Событие, которое срабатывает после обновления записи. (доступно начиная с версии 2.0.8) yii\db\BaseActiveRecord
EVENT_AFTER_UPDATE yii\db\AfterSaveEvent Событие, которое срабатывает после обновления записи. yii\db\BaseActiveRecord
EVENT_AFTER_VALIDATE yii\base\Event Событие, которое срабатывает в конце validate() yii\base\Model
EVENT_BEFORE_DELETE yii\base\ModelEvent Событие, которое срабатывает перед удалением записи. yii\db\BaseActiveRecord
EVENT_BEFORE_INSERT yii\base\ModelEvent Событие, которое срабатывает перед вставкой записи. yii\db\BaseActiveRecord
EVENT_BEFORE_UPDATE yii\base\ModelEvent Событие, которое срабатывает перед обновлением записи. yii\db\BaseActiveRecord
EVENT_BEFORE_VALIDATE yii\base\ModelEvent Событие, которое срабатывает в начале validate(). yii\base\Model
EVENT_INIT yii\base\Event Событие, которое срабатывает при инициализации записи через init(). yii\db\BaseActiveRecord

Константы

Константа Значение Описание Определено в
SCENARIO_DEFAULT 'default' Имя по умолчанию сценария. yii\base\Model

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

$dirtyAttributes общедоступное только для чтения свойство

Изменённые значения атрибутов (пары имя-значение)

public array getDirtyAttributes ( $names = null )

$isNewRecord общедоступное свойство

Является ли запись новой и должна ли она быть вставлена при вызове save().

public boolean getIsNewRecord ( )
public void setIsNewRecord ( $value )

$oldAttributes общедоступное свойство

Старые значения атрибутов (пары имя-значение)

public array getOldAttributes ( )
public void setOldAttributes ( $values )

$oldPrimaryKey общедоступное только для чтения свойство

Старое значение первичного ключа. Возвращается массив (имя столбца => значение столбца), если первичный ключ составной или $asArray является true. В противном случае возвращается строка (null возвращается, если значение ключа null).

public mixed getOldPrimaryKey ( $asArray = false )

$primaryKey общедоступное только для чтения свойство

Значение первичного ключа. Возвращается массив (имя столбца => значение столбца), если первичный ключ составной или $asArray является true. В противном случае возвращается строка (null возвращается, если значение ключа null).

public mixed getPrimaryKey ( $asArray = false )

$relatedRecords общедоступное только для чтения свойство

Массив связанных записей, индексированных именами отношений.

public array getRelatedRecords ( )

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

__get() общедоступный метод

Магический метод-геттер PHP.

Этот метод переопределен для того, чтобы атрибуты и связанные объекты можно было получить как свойства.

См. также getAttribute().

общедоступный mixed __get ( $name )
$name строка

Имя свойства

возвращает mixed

Значение свойства

бросает yii\base\InvalidParamException

если имя отношения неверное

__isset() общедоступный метод

Проверяет, является ли значение свойства равным null.

Этот метод переопределяет родительскую реализацию, проверяя, является ли атрибут с заданным именем null или нет.

общедоступный булево __isset ( $name )
$name строка

Имя свойства или имя события

возвращает булево

Является ли значение свойства равным null

__set() общедоступный метод

Магический метод-сеттер PHP.

Этот метод переопределен для того, чтобы атрибуты AR можно было получить как свойства.

общедоступный void __set ( $name, $value )
$name строка

Имя свойства

$value mixed

Значение свойства

__unset() общедоступный метод

Устанавливает свойство компонента в значение null.

Этот метод переопределяет родительскую реализацию, очищая указанное значение атрибута.

общедоступный void __unset ( $name )
$name строка

Имя свойства или имя события

afterDelete() общедоступный метод

Этот метод вызывается после удаления записи.

Базовая реализация поднимает событие EVENT_AFTER_DELETE. Вы можете переопределить этот метод для выполнения постобработки после удаления записи. Убедитесь, что вы вызываете родительскую реализацию, чтобы событие поднималось должным образом.

общедоступный void afterDelete ( )

afterFind() общедоступный метод

Этот метод вызывается при создании объекта AR и его заполнении результатом запроса.

Базовая реализация вызовет событие EVENT_AFTER_FIND. При переопределении этого метода убедитесь, что вы вызываете родительскую реализацию, чтобы гарантировать срабатывание события.

общедоступный void afterFind ( )

afterRefresh() общедоступный метод (доступно начиная с версии 2.0.8)

Этот метод вызывается при обновлении объекта AR.

Базовая реализация вызовет событие EVENT_AFTER_REFRESH. При переопределении этого метода убедитесь, что вы вызываете родительскую реализацию, чтобы гарантировать срабатывание события.

общедоступный void afterRefresh ( )

afterSave() общедоступный метод

Этот метод вызывается в конце вставки или обновления записи.

Базовая реализация вызовет событие EVENT_AFTER_INSERT, когда $insert является true, или событие EVENT_AFTER_UPDATE, если $insert равно false. Используемый класс события — yii\db\AfterSaveEvent. При переопределении этого метода обязательно вызовите родительскую реализацию, чтобы гарантировать срабатывание события.

общедоступный void afterSave ( $insert, $changedAttributes )
$insert булево

Указывает, вызывался ли метод при вставке записи. Если false, значит метод вызывается при обновлении записи.

$changedAttributes массив

Старые значения атрибутов, которые были изменены и сохранены. Вы можете использовать этот параметр для выполнения действий, основанных на внесённых изменениях, например, отправки письма, когда изменился пароль, или реализации аудиторского следа, отслеживающего все изменения. $changedAttributes предоставляет вам старые значения атрибутов, в то время как активная запись ($this) уже содержит новые обновлённые значения.

Обратите внимание, что по умолчанию автоматического преобразования типов не выполняется. Для облегчения преобразования типов атрибутов можно использовать yii\behaviors\AttributeTypecastBehavior. См. http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#attributes-typecasting.

beforeDelete() общедоступный метод

Этот метод вызывается перед удалением записи.

Базовая реализация поднимает событие EVENT_BEFORE_DELETE. При переопределении этого метода убедитесь, что вы вызываете родительскую реализацию, как показано ниже:

public function beforeDelete()
{
    if (!parent::beforeDelete()) {
        return false;
    }

    // ...custom code here...
    return true;
}
общедоступный булево beforeDelete ( )
возвращает булево

Следует ли удалить запись. По умолчанию true.

beforeSave() общедоступный метод

Этот метод вызывается в начале вставки или обновления записи.

Базовая реализация вызовет событие EVENT_BEFORE_INSERT, когда $insert равно true, или событие EVENT_BEFORE_UPDATE, если $insert равно false. При переопределении этого метода убедитесь, что вы вызываете родительскую реализацию, как показано ниже:

public function beforeSave($insert)
{
    if (!parent::beforeSave($insert)) {
        return false;
    }

    // ...custom code here...
    return true;
}
общедоступный булево beforeSave ( $insert )
$insert булево

Указывает, вызывался ли метод при вставке записи. Если false, значит метод вызывается при обновлении записи.

возвращает булево

Продолжить ли вставку или обновление. Если false, вставка или обновление будет отменено.

canGetProperty() общедоступный метод

Возвращает значение, указывающее, может ли свойство быть прочитано.

Свойство может быть прочитано, если:

  • класс имеет метод-геттер, связанный с указанным именем (в этом случае регистр имени свойства не учитывается);
  • класс имеет переменную-член с указанным именем (если $checkVars равно true);
  • прикреплённый поведение имеет свойство для чтения с заданным именем (если $checkBehaviors равно true).
общедоступный булево canGetProperty ( $name, $checkVars = true, $checkBehaviors = true )
$name строка

Имя свойства

$checkVars булево

Обрабатывать ли переменные-члены как свойства

$checkBehaviors булево

Обрабатывать ли свойства поведения как свойства этого компонента

возвращает булево

Может ли свойство быть прочитано

canSetProperty() общедоступный метод

Возвращает значение, указывающее, может ли свойство быть установлено.

Свойство может быть записано, если:

  • класс имеет метод-сеттер, связанный с указанным именем (в этом случае регистр имени свойства не учитывается);
  • класс имеет переменную-член с указанным именем (если $checkVars равно true);
  • прикреплённый поведение имеет свойство для записи с заданным именем (если $checkBehaviors равно true).
public boolean canSetProperty ( $name, $checkVars = true, $checkBehaviors = true )
$name string

Имя свойства

$checkVars boolean

Учитывать ли переменные-члены как свойства

$checkBehaviors boolean

Учитывать ли свойства поведения как свойства этого компонента

return boolean

Можно ли задать свойство

createRelationQuery() защищённый метод (доступен с версии 2.0.12)

Создаёт экземпляр запроса для has-one или has-many отношения.

См. также:

  • hasOne()
  • hasMany()
protected yii\db\ActiveQueryInterface createRelationQuery ( $class, $link, $multiple )
$class string

Имя класса связанной записи.

$link array

Ограничение первичного-внешнего ключа.

$multiple boolean

Представляет ли запрос отношение более чем к одной записи.

return yii\db\ActiveQueryInterface

Объект реляционного запроса.

delete() публичный метод

Удаляет строку таблицы, соответствующую этой активной записи.

Этот метод выполняет следующие шаги в указанном порядке:

  1. вызывает beforeDelete(). Если метод возвращает false, он пропустит остальные шаги;
  2. удаляет запись из базы данных;
  3. вызывает afterDelete().

На шагах 1 и 3 выше события, имеющие имена EVENT_BEFORE_DELETE и EVENT_AFTER_DELETE, будут подняты соответствующими методами.

public integer|false delete ( )
return integer|false

Количество строк, удалённых, или false если удаление неуспешно по какой-либо причине. Обратите внимание, что количество удалённых строк может быть 0, даже если выполнение удаления успешно.

throws yii\db\StaleObjectException

если включена опция оптимистической блокировки и удаляемые данные устарели.

throws yii\db\Exception

в случае неудачи удаления.

deleteAll() публичный статический метод

Удаляет строки в таблице, используя заданные условия.

ПРЕДУПРЕЖДЕНИЕ: Если вы не укажете никаких условий, этот метод удалит ВСЕ строки в таблице.

Например, чтобы удалить всех клиентов, статус которых равен 3:

Customer::deleteAll('status = 3');
public static integer deleteAll ( $condition = null )
$condition string|array

Условия, которые будут помещены в часть WHERE SQL-запроса DELETE. Обратитесь к yii\db\Query::where(), чтобы узнать, как указать этот параметр.

return integer

Количество строк, удалённых

throws yii\base\NotSupportedException

если не переопределено.

equals() публичный метод

Возвращает значение, указывающее, является ли заданная активная запись такой же, как текущая.

Сравнение производится путём сравнения имён таблиц и значений первичных ключей двух активных записей. Если одна из записей является новой, они также считаются неравными.

public boolean equals ( $record )
$record yii\db\ActiveRecordInterface

Запись для сравнения

return boolean

Являются ли две активные записи ссылками на одну и ту же строку в одной и той же таблице базы данных.

extraFields() публичный метод

Возвращает список полей, которые можно дополнительно расширить и получить с помощью toArray().

Этот метод похож на fields(), за исключением того, что список полей, возвращаемых этим методом, по умолчанию не возвращается toArray(). Только когда имена полей для расширения явно указаны при вызове toArray(), их значения будут экспортированы.

По умолчанию возвращает пустой массив.

Вы можете переопределить этот метод, чтобы вернуть список расширяемых полей на основе некоторой контекстной информации (например, текущего пользователя приложения).

По умолчанию возвращает имена отношений, которые были заполнены в эту запись.

public array extraFields ( )
return array

Список имён расширяемых полей или определений полей. Обратитесь к fields() по формату возвращаемого значения.

fields() публичный метод

Возвращает список полей, которые должны по умолчанию возвращаться методом toArray(), когда не указаны конкретные поля.

Поле — это именованный элемент в возвращаемом массиве методом toArray().

Этот метод должен возвращать массив имён полей или определений полей. Если это имена, имя поля будет обрабатываться как имя свойства объекта, значение которого будет использоваться как значение поля. Если это определения, ключ массива должен быть именем поля, а значение — соответствующим определением поля, которое может быть либо именем свойства PHP, либо PHP-функцией, возвращающей соответствующее значение поля. Сигнатура вызываемой функции должна быть:

function ($model, $field) {
    // return field value
}

Например, следующий код объявляет четыре поля:

  • email: имя поля такое же, как имя свойства email;
  • firstName и lastName: имена полей firstName и lastName, а их значения получены из свойств first_name и last_name;
  • fullName: имя поля fullName. Его значение получается путём конкатенации first_name и last_name.
return [
    'email',
    'firstName' => 'first_name',
    'lastName' => 'last_name',
    'fullName' => function ($model) {
        return $model->first_name . ' ' . $model->last_name;
    },
];

В этом методе вы также можете возвращать различные списки полей, основываясь на некоторой контекстной информации. Например, в зависимости от $scenario или привилегий текущего пользователя приложения вы можете возвращать различные наборы видимых полей или отфильтровывать некоторые поля.

По умолчанию этот метод возвращает attributes(), индексированные теми же именами атрибутов.

По умолчанию возвращает имена столбцов, значения которых были заполнены в эту запись.

public array fields ( )
return array

Список имён полей или определений полей.

findAll() публичный статический метод

Возвращает список моделей активных записей, которые соответствуют указанному значению(ям) первичного ключа или набору значений столбцов.

Метод принимает:

  • скалярное значение (целое или строковое): запрос по одному значению первичного ключа и возвращает массив, содержащий соответствующую запись (или пустой массив, если не найдено).
  • массив без ассоциативных пар: запрос по списку значений первичных ключей и возвращает соответствующие записи (или пустой массив, если не найдено). Обратите внимание, что пустые условия приведут к пустому результату, так как они будут интерпретироваться как поиск по первичным ключам, а не пустому WHERE условию.
  • ассоциативный массив пар имя-значение: запрос по набору значений атрибутов и возвращает массив записей, соответствующих всем им (или пустой массив, если не найдено). Обратите внимание, что ['id' => 1, 2] обрабатывается как массив без ассоциативных пар.

Этот метод автоматически вызовет метод all() и вернёт массив экземпляров ActiveRecord.

Примечание: Поскольку это метод сокращенного синтаксиса, использование более сложных условий, таких как ['!=', 'id', 1], не сработает. Если вам нужно указать более сложные условия, используйте find() в сочетании с where() вместо этого.

Смотрите примеры использования в следующем коде:

// find the customers whose primary key value is 10
$customers = Customer::findAll(10);

// the above code is equivalent to:
$customers = Customer::find()->where(['id' => 10])->all();

// find the customers whose primary key value is 10, 11 or 12.
$customers = Customer::findAll([10, 11, 12]);

// the above code is equivalent to:
$customers = Customer::find()->where(['id' => [10, 11, 12]])->all();

// find customers whose age is 30 and whose status is 1
$customers = Customer::findAll(['age' => 30, 'status' => 1]);

// the above code is equivalent to:
$customers = Customer::find()->where(['age' => 30, 'status' => 1])->all();
public static static[] findAll ( $condition )
$condition mixed

Значение первичного ключа или набор значений столбцов

return static[]

Массив экземпляров ActiveRecord или пустой массив, если ничего не найдено.

findByCondition() защищённый статический метод

Находит экземпляр(ы) ActiveRecord по заданному условию.

Этот метод вызывается внутри findOne() и findAll().

protected static yii\db\ActiveQueryInterface findByCondition ( $condition )
$condition mixed

Обратитесь к findOne() для объяснения этого параметра

return yii\db\ActiveQueryInterface

Новый созданный экземпляр ActiveQuery.

throws yii\base\InvalidConfigException

если первичный ключ не определён

findOne() публичный статический метод

Возвращает один экземпляр модели active record по первичному ключу или набору значений столбцов.

Метод принимает:

  • скалярное значение (целое число или строка): запрос по значению одного первичного ключа и возвращает соответствующую запись (или null если не найдено).
  • массив без ассоциативных ключей: запрос по списку значений первичного ключа и возвращает первую запись (или null если не найдено).
  • ассоциативный массив пар имя-значение: запрос по набору значений атрибутов и возвращает единственную запись, соответствующую всем им (или null если не найдено). Обратите внимание, что ['id' => 1, 2] обрабатывается как массив без ассоциативных ключей.

Этот метод автоматически вызовет метод one() и вернёт экземпляр ActiveRecord.

Примечание: Поскольку это метод сокращенного синтаксиса, использование более сложных условий, таких как ['!=', 'id', 1], не сработает. Если вам нужно указать более сложные условия, используйте find() в сочетании с where() вместо этого.

Смотрите примеры использования в следующем коде:

// find a single customer whose primary key value is 10
$customer = Customer::findOne(10);

// the above code is equivalent to:
$customer = Customer::find()->where(['id' => 10])->one();

// find the customers whose primary key value is 10, 11 or 12.
$customers = Customer::findOne([10, 11, 12]);

// the above code is equivalent to:
$customers = Customer::find()->where(['id' => [10, 11, 12]])->one();

// find the first customer whose age is 30 and whose status is 1
$customer = Customer::findOne(['age' => 30, 'status' => 1]);

// the above code is equivalent to:
$customer = Customer::find()->where(['age' => 30, 'status' => 1])->one();
public static static findOne ( $condition )
$condition mixed

Значение первичного ключа или набор значений столбцов

return static

Экземпляр ActiveRecord, соответствующий условию, или null если ничего не найдено.

getAttribute() публичный метод

Возвращает значение атрибута по его имени.

Если эта запись является результатом запроса и атрибут не загружен, будет возвращено null.

См. также hasAttribute().

public mixed getAttribute ( $name )
$name string

Имя атрибута

return mixed

Значение атрибута. null если атрибут не задан или не существует.

getAttributeHint() публичный метод (доступен с версии 2.0.4)

Возвращает подсказку к тексту для указанного атрибута.

Если атрибут выглядит как relatedModel.attribute, то атрибут будет получен из связанной модели.

См. также attributeHints().

public string getAttributeHint ( $attribute )
$attribute string

Имя атрибута

return string

Подсказка к атрибуту

getAttributeLabel() публичный метод

Возвращает текстовую метку для указанного атрибута.

Если атрибут выглядит как relatedModel.attribute, то атрибут будет получен из связанной модели.

См. также:

  • generateAttributeLabel()
  • attributeLabels()
public string getAttributeLabel ( $attribute )
$attribute string

Имя атрибута

return string

Метка атрибута

getDirtyAttributes() публичный метод

Возвращает значения атрибутов, которые были изменены с момента их последней загрузки или сохранения.

Сравнение новых и старых значений производится с использованием ===.

public array getDirtyAttributes ( $names = null )
$names string[]|null

Имена атрибутов, значения которых могут быть возвращены, если они были изменены недавно. Если null, используется attributes().

return array

Изменённые значения атрибутов (пары имя-значение)

getIsNewRecord() публичный метод

Возвращает значение, указывающее, является ли текущая запись новой.

public boolean getIsNewRecord ( )
return boolean

Является ли запись новой и должна ли она быть вставлена при вызове save().

getOldAttribute() публичный метод

Возвращает старое значение атрибута по его имени.

Если эта запись является результатом запроса и атрибут не загружен, будет возвращено null.

См. также hasAttribute().

public mixed getOldAttribute ( $name )
$name string

Имя атрибута

return mixed

Старое значение атрибута. null если атрибут не загружен ранее или не существует.

getOldAttributes() публичный метод

Возвращает старые значения атрибутов.

public array getOldAttributes ( )
return array

Старые значения атрибутов (пары имя-значение)

getOldPrimaryKey() публичный метод

Возвращает старое(ые) значение(я) первичного ключа.

Это значение первичного ключа, которое заполняется в запись после выполнения метода поиска (например, find(), findOne()). Значение остаётся неизменным, даже если атрибут первичного ключа вручную присваивается с другим значением.

public mixed getOldPrimaryKey ( $asArray = false )
$asArray boolean

Возвращать ли значение первичного ключа в виде массива. Если true, возвращаемое значение будет массивом со именем столбца в качестве ключа и значением столбца. Если это false (по умолчанию), для несоставного первичного ключа будет возвращено скалярное значение.

return mixed

Старое значение первичного ключа. Массив (имя столбца => значение столбца) возвращается, если первичный ключ составной или $asArray является true. В противном случае возвращается строка (null возвращается, если значение ключа равно null).

throws yii\db\Exception

если у модели AR нет первичного ключа

getPrimaryKey() публичный метод

Возвращает значение(я) первичного ключа.

public mixed getPrimaryKey ( $asArray = false )
$asArray boolean

Является ли значение первичного ключа массивом. Если true, возвращаемое значение будет массивом, где имена столбцов — ключи, а значения столбцов — значения. Обратите внимание, что для составных первичных ключей массив всегда возвращается независимо от этого параметра.

return mixed

Значение первичного ключа. Возвращается массив (имя столбца => значение столбца), если первичный ключ составной или $asArray равно true. В противном случае возвращается строка (null, если значение ключа null).

getRelatedRecords() public method

Возвращает все заполненные связанные записи.

См. также getRelation().

public array getRelatedRecords ( )
return array

Массив связанных записей, индексированных по именам отношений.

getRelation() public method

Возвращает объект отношения с указанным именем.

Отношение определяется методом-геттером, который возвращает объект yii\db\ActiveQueryInterface. Оно может быть объявлено как в самом классе Active Record, так и в одном из его поведений.

public yii\db\ActiveQueryInterface|yii\db\ActiveQuery getRelation ( $name, $throwException = true )
$name string

Имя отношения, например, orders для отношения, определенного через метод getOrders() (регистрозависимое).

$throwException boolean

Выбрасывать ли исключение, если отношения не существует.

return yii\db\ActiveQueryInterface|yii\db\ActiveQuery

Объект запроса отношения. Если отношение не существует и $throwException равно false, будет возвращено null.

throws yii\base\InvalidParamException

если отношения с указанным именем не существует.

hasAttribute() public method

Возвращает значение, указывающее, содержит ли модель атрибут с указанным именем.

public boolean hasAttribute ( $name )
$name string

Имя атрибута

return boolean

Содержит ли модель атрибут с указанным именем.

hasMany() public method

Объявляет отношение has-many.

Объявление возвращается в виде объекта yii\db\ActiveQuery отношения, посредством которого можно запрашивать и получать связанные записи.

Отношение has-many означает, что существует несколько связанных записей, соответствующих критериям этого отношения, например, клиент имеет несколько заказов.

Например, чтобы объявить отношение orders для класса Customer, можно написать следующий код в классе Customer.

public function getOrders()
{
    return $this->hasMany(Order::className(), ['customer_id' => 'id']);
}

Обратите внимание, что в приведенном выше примере ключ 'customer_id' в параметре $link относится к имени атрибута в связанном классе Order, а значение 'id' относится к имени атрибута в текущем классе AR.

Вызывайте методы, объявленные в yii\db\ActiveQuery, для дальнейшей настройки отношения.

public yii\db\ActiveQueryInterface hasMany ( $class, $link )
$class string

Имя класса связанной записи

$link array

Связь первичного и внешнего ключей. Ключи массива относятся к атрибутам записи, связанной с моделью $class, а значения массива относятся к соответствующим атрибутам в данном классе AR.

return yii\db\ActiveQueryInterface

Объект запроса отношения.

hasOne() public method

Объявляет отношение has-one.

Объявление возвращается в виде объекта yii\db\ActiveQuery отношения, посредством которого можно запрашивать и получать связанную запись.

Отношение has-one означает, что существует не более одной связанной записи, соответствующей критериям этого отношения, например, клиент имеет одну страну.

Например, чтобы объявить отношение country для класса Customer, можно написать следующий код в классе Customer.

public function getCountry()
{
    return $this->hasOne(Country::className(), ['id' => 'country_id']);
}

Обратите внимание, что в приведенном выше примере ключ 'id' в параметре $link относится к имени атрибута в связанном классе Country, а значение 'country_id' относится к имени атрибута в текущем классе AR.

Вызывайте методы, объявленные в yii\db\ActiveQuery, для дальнейшей настройки отношения.

public yii\db\ActiveQueryInterface hasOne ( $class, $link )
$class string

Имя класса связанной записи

$link array

Связь первичного и внешнего ключей. Ключи массива относятся к атрибутам записи, связанной с моделью $class, а значения массива относятся к соответствующим атрибутам в данном классе AR.

return yii\db\ActiveQueryInterface

Объект запроса отношения.

init() public method

Инициализирует объект.

Этот метод вызывается в конце конструктора. Стандартная реализация вызовет событие EVENT_INIT. Если вы переопределяете этот метод, убедитесь, что вызываете родительскую реализацию в конце, чтобы гарантировать срабатывание события.

public void init ( )

instantiate() public static method

Создает экземпляр active record.

Этот метод вызывается вместе с populateRecord() классом yii\db\ActiveQuery. Он не предназначен для непосредственного создания новых записей.

Вы можете переопределить этот метод, если создаваемый экземпляр зависит от данных строки, которые будут заполнены в запись. Например, создавая запись на основе значения столбца, вы можете реализовать так называемое отображение наследования по одной таблице.

public static static instantiate ( $row )
$row array

Данные строки для заполнения записи.

return static

Новая созданная запись active record

isAttributeChanged() public method

Возвращает значение, указывающее, был ли изменён указанный атрибут.

public boolean isAttributeChanged ( $name, $identical = true )
$name string

Имя атрибута.

$identical boolean

Сравнивать ли новые и старые значения на идентичность, используя ===, по умолчанию true. В противном случае используется == для сравнения. Этот параметр доступен начиная с версии 2.0.4.

return boolean

Был ли изменён атрибут

isPrimaryKey() public static method

Возвращает значение, указывающее, представляет ли данный набор атрибутов первичный ключ для данной модели.

public static boolean isPrimaryKey ( $keys )
$keys array

Набор атрибутов для проверки

return boolean

Представляет ли данный набор атрибутов первичный ключ для данной модели

isRelationPopulated() public method

Проверяет, было ли отношение заполнено записями.

См. также getRelation().

public boolean isRelationPopulated ( $name )
$name string

Имя отношения, например, orders для отношения, определённого через метод getOrders() (регистрозависимое).

return boolean

Было ли отношение заполненно записями.

link() public method

Устанавливает связь между двумя моделями.

Связь устанавливается путём задания значения(й) внешнего ключа в одной модели, соответствующего значению(ям) первичного ключа в другой модели. Модель с внешним ключом будет сохранена в базе данных без выполнения валидации.

Если связь включает таблицу-соединитель, новая строка будет добавлена в таблицу-соединитель, содержащая значения первичного ключа от обеих моделей.

Обратите внимание, что этот метод требует, чтобы значение первичного ключа не было null.

public void link ( $name, $model, $extraColumns = [] )
$name string

Регистрозависимое имя отношения, например, orders для отношения, определённого через метод getOrders().

$model yii\db\ActiveRecordInterface

Модель, которую нужно связать с текущей.

$extraColumns array

Дополнительные значения столбцов, которые нужно сохранить в таблицу-соединитель. Этот параметр имеет смысл только для связи, включающей таблицу-соединитель (т. е. для отношения, заданного с помощью yii\db\ActiveRelationTrait::via() или yii\db\ActiveQuery::viaTable().)

throws yii\base\InvalidCallException

если метод не может связать две модели.

markAttributeDirty() public method

Помечает атрибут как изменённый.

Этот метод можно вызвать, чтобы принудительно обновить запись при вызове update(), даже если изменения в записи отсутствуют.

public void markAttributeDirty ( $name )
$name string

Имя атрибута

offsetExists() public method

Возвращает, существует ли элемент по указанному смещению.

Этот метод требуется интерфейсом ArrayAccess.

public boolean offsetExists ( $offset )
$offset mixed

Смещение для проверки

return boolean

Существует ли элемент по указанному смещению.

offsetUnset() public method

Устанавливает значение элемента по указанному смещению в null.

Этот метод требуется интерфейсом SPL ArrayAccess. Он неявно вызывается, когда вы используете что-то вроде unset($model[$offset]).

public void offsetUnset ( $offset )
$offset mixed

Смещение для удаления элемента

optimisticLock() public method

Возвращает имя столбца, хранящего версию блокировки для реализации оптмистичной блокировки.

Оптмистичная блокировка позволяет нескольким пользователям одновременно получать доступ к той же записи для редактирования и предотвращает потенциальные конфликты. В случае, если пользователь пытается сохранить запись с устаревшими данными (потому что другой пользователь изменил данные), будет брошено исключение yii\db\StaleObjectException, и обновление или удаление пропущено.

Оптмистичная блокировка поддерживается только update() и delete().

Чтобы использовать оптмистичную блокировку:

  1. Создайте столбец для хранения номера версии каждой строки. Тип столбца должен быть BIGINT DEFAULT 0. Переопределите этот метод, чтобы вернуть имя этого столбца.
  2. Добавьте правило валидации required для столбца версии, чтобы убедиться, что значение версии отправлено.
  3. В веб-форме, которая собирает пользовательский ввод, добавьте скрытое поле, хранящее версию блокировки записи, которую нужно обновить.
  4. В действии контроллера, выполняющем обновление данных, попробуйте поймать исключение yii\db\StaleObjectException и реализуйте необходимую бизнес-логику (например, объединение изменений, уведомление об устаревших данных) для разрешения конфликта.
public string optimisticLock ( )
return string

Имя столбца, хранящего версию блокировки строки таблицы. Если возвращается null (реализованный по умолчанию), оптмистичная блокировка не будет поддерживаться.

populateRecord() public static method

Заполняет объект активной записи данными из строки базы данных/хранилища.

Это внутренний метод, предназначенный для вызова для создания объектов активных записей после извлечения данных из базы данных. Он в основном используется yii\db\ActiveQuery для заполнения результатов запроса активными записями.

При ручном вызове этого метода нужно вызвать afterFind() на созданной записи, чтобы запустить событие afterFind Event.

public static void populateRecord ( $record, $row )
$record yii\db\BaseActiveRecord

Запись, которая должна быть заполнена. В большинстве случаев это будет экземпляр, созданный instantiate() предварительно.

$row array

Значения атрибутов (имя => значение)

populateRelation() public method

Заполняет указанное отношение связанными записями.

Обратите внимание, что этот метод не проверяет, существует ли отношение.

См. также getRelation().

public void populateRelation ( $name, $records )
$name string

Имя отношения, например, orders для отношения, определённого через метод getOrders() (регистрозависимое).

$records yii\db\ActiveRecordInterface|array|null

Связанные записи, которые нужно заполнить в отношение.

refresh() public method

Перезаполняет активную запись последними данными.

Если обновление прошло успешно, произойдёт событие EVENT_AFTER_REFRESH. Это событие доступно начиная с версии 2.0.8.

public boolean refresh ( )
return boolean

Существует ли строка в базе данных. Если true, последние данные будут заполнены в эту активную запись. В противном случае эта запись останется без изменений.

save() public method

Сохраняет текущую запись.

Этот метод вызовет insert(), когда $isNewRecord равно true, или update(), когда $isNewRecord равно false.

Например, для сохранения записи клиента:

$customer = new Customer; // or $customer = Customer::findOne($id);
$customer->name = $name;
$customer->email = $email;
$customer->save();
public boolean save ( $runValidation = true, $attributeNames = null )
$runValidation boolean

Выполнять ли валидацию (вызов validate()) перед сохранением записи. По умолчанию true. Если валидация не пройдена, запись не будет сохранена в базе данных, и этот метод вернёт false.

$attributeNames array

Список имён атрибутов, которые необходимо сохранить. По умолчанию null, что означает, что будут сохранены все атрибуты, загруженные из БД.

return boolean

Успешно ли прошло сохранение (т.е. не возникло ошибок валидации).

setAttribute() public method

Устанавливает значение указанного атрибута.

См. также hasAttribute().

public void setAttribute ( $name, $value )
$name string

Имя атрибута

$value mixed

Значение атрибута.

throws yii\base\InvalidParamException

если атрибут с указанным именем не существует.

setIsNewRecord() public method

Устанавливает значение, указывающее, является ли запись новой.

См. также getIsNewRecord().

public void setIsNewRecord ( $value )
$value boolean

Является ли запись новой и должна ли она быть вставлена при вызове save().

setOldAttribute() public method

Устанавливает старое значение указанного атрибута.

См. также hasAttribute().

public void setOldAttribute ( $name, $value )
$name string

Имя атрибута

$value mixed

Старое значение атрибута.

throws yii\base\InvalidParamException

если атрибут с указанным именем не существует.

setOldAttributes() public method

Устанавливает старые значения атрибутов.

Все существующие старые значения атрибутов будут удалены.

public void setOldAttributes ( $values )
$values array|null

Старые значения атрибутов. Если установлено значение null, эта запись считается новой новой.

unlink() public method

Уничтожает связь между двумя моделями.

Модель с внешним ключом отношения будет удалена, если $delete равна true. В противном случае внешний ключ будет установлен null, и модель будет сохранена без валидации.

public void unlink ( $name, $model, $delete = false )
$name string

Используемое в регистре имя отношения, например orders, для отношения, определенного через метод getOrders().

$model yii\db\ActiveRecordInterface

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

$delete boolean

Удалить ли модель, содержащую внешний ключ. Если false, внешний ключ модели будет установлен null и сохранен. Если true, модель, содержащая внешний ключ, будет удалена.

throws yii\base\InvalidCallException

если модели нельзя разъединить

unlinkAll() public method

Уничтожает отношение в текущей модели.

Модель с внешним ключом отношения будет удалена, если $delete равна true. В противном случае внешний ключ будет установлен null и модель будет сохранена без валидации.

Обратите внимание, что для уничтожения отношения без удаления записей убедитесь, что ваши ключи могут быть установлены в null

public void unlinkAll ( $name, $delete = false )
$name string

Используемое в регистре имя отношения, например orders, для отношения, определенного через метод getOrders().

$delete boolean

Удалить ли модель, содержащую внешний ключ.

update() public method

Сохраняет изменения в активной записи в связанной таблице базы данных.

Этот метод выполняет следующие шаги в порядке:

  1. вызывает beforeValidate(), если $runValidation равно true. Если beforeValidate() возвращает false, остальные шаги будут пропущены;
  2. вызывает afterValidate(), если $runValidation равно true. Если валидация не удалась, остальные шаги будут пропущены;
  3. вызывает beforeSave(). Если beforeSave() возвращает false, остальные шаги будут пропущены;
  4. сохраняет запись в базе данных. Если это не удалось, остальные шаги будут пропущены;
  5. вызывает afterSave();

На шагах 1, 2, 3 и 5 выше будут вызваны события EVENT_BEFORE_VALIDATE, EVENT_AFTER_VALIDATE, EVENT_BEFORE_UPDATE и EVENT_AFTER_UPDATE соответствующими методами.

Будут сохранены только измененные значения атрибутов.

Например, чтобы обновить запись клиента:

$customer = Customer::findOne($id);
$customer->name = $name;
$customer->email = $email;
$customer->update();

Обратите внимание, что обновление может не повлиять на строку в таблице. В этом случае этот метод вернёт 0. По этой причине, следует использовать следующий код для проверки успешности update():

if ($customer->update() !== false) {
    // update successful
} else {
    // update failed
}
public integer|false update ( $runValidation = true, $attributeNames = null )
$runValidation boolean

Выполнять ли валидацию (вызывая validate()) перед сохранением записи. По умолчанию true. Если валидация не пройдёт, запись не будет сохранена в базе данных, и этот метод вернёт false.

$attributeNames array

Список имён атрибутов, которые нужно сохранить. По умолчанию null, что означает, что будут сохранены все атрибуты, загруженные из БД.

return integer|false

Количество затронутых строк или false если валидация не пройдёт или beforeSave() остановит процесс обновления.

throws yii\db\StaleObjectException

если включена оптимистическая блокировка, и данные, которые обновляются, устарели.

throws yii\db\Exception

в случае неудачи обновления.

updateAll() public static method

Обновляет всю таблицу с использованием предоставленных значений атрибутов и условий.

Например, чтобы изменить статус на 1 для всех клиентов, чей статус равен 2:

Customer::updateAll(['status' => 1], 'status = 2');
public static integer updateAll ( $attributes, $condition = '' )
$attributes array

Значения атрибутов (имя-значение) для сохранения в таблице

$condition string|array

Условие, которое будет добавлено в часть WHERE запроса UPDATE. Обратитесь к yii\db\Query::where() для уточнения этого параметра.

return integer

Количество обновлённых строк

throws yii\base\NotSupportedException

если не переопределён

updateAllCounters() public static method

Обновляет всю таблицу с использованием предоставленных изменений счётчика и условий.

Например, чтобы увеличить возраст всех клиентов на 1:

Customer::updateAllCounters(['age' => 1]);
public static integer updateAllCounters ( $counters, $condition = '' )
$counters array

Обновляемые счетчики (имя атрибута => значение приращения). Используйте отрицательные значения, если хотите уменьшить счетчики.

$condition string|array

Условия, которые будут добавлены в часть WHERE запроса UPDATE. Обратитесь к yii\db\Query::where() для получения информации о способе указания этого параметра.

return integer

Количество обновленных строк

throws yii\base\NotSupportedException

если не переопределено

updateAttributes() public method

Обновляет указанные атрибуты.

Этот метод является сокращением для update(), когда не требуется проверка данных и необходимо обновить только небольшой набор атрибутов.

Вы можете указать обновляемые атрибуты в виде списка имен или пар имя-значение. В последнем случае соответствующие значения атрибутов будут изменены. Затем метод сохранит указанные атрибуты в базе данных.

Обратите внимание, что этот метод не выполняет проверку данных и не вызывает события.

public integer updateAttributes ( $attributes )
$attributes array

Обновляемые атрибуты (имена или пары имя-значение)

return integer

Количество затронутых строк.

updateCounters() public method

Обновляет один или несколько столбцов счётчиков для текущего объекта AR.

Обратите внимание, что этот метод отличается от updateAllCounters() тем, что сохраняет счетчики только для текущего объекта AR.

Пример использования:

$post = Post::findOne($id);
$post->updateCounters(['view_count' => 1]);

См. также updateAllCounters().

public boolean updateCounters ( $counters )
$counters array

Обновляемые счётчики (имя атрибута => значение приращения). Используйте отрицательные значения, если хотите уменьшить счётчики.

return boolean

Успешность сохранения

updateInternal() protected method

См. также update().

protected integer|false updateInternal ( $attributes = null )
$attributes array

Атрибуты для обновления

return integer|false

Количество изменённых строк или false, если beforeSave() остановил процесс обновления.

throws yii\db\StaleObjectException

Подробности событий

EVENT_AFTER_DELETE событие типа yii\base\Event

Событие, которое срабатывает после удаления записи.

EVENT_AFTER_FIND событие типа yii\base\Event

Событие, которое срабатывает после создания записи и заполнения её результатами запроса.

EVENT_AFTER_INSERT событие типа yii\db\AfterSaveEvent

Событие, которое срабатывает после вставки записи.

EVENT_AFTER_REFRESH событие типа yii\base\Event (доступно начиная с версии 2.0.8)

Событие, которое срабатывает после обновления записи.

EVENT_AFTER_UPDATE событие типа yii\db\AfterSaveEvent

Событие, которое срабатывает после обновления записи.

EVENT_BEFORE_DELETE событие типа yii\base\ModelEvent

Событие, которое срабатывает перед удалением записи. Вы можете установить yii\base\ModelEvent::$isValid в false чтобы остановить удаление.

EVENT_BEFORE_INSERT событие типа yii\base\ModelEvent

Событие, которое срабатывает перед вставкой записи. Вы можете установить yii\base\ModelEvent::$isValid в false чтобы остановить вставку.

EVENT_BEFORE_UPDATE событие типа yii\base\ModelEvent

Событие, которое срабатывает перед обновлением записи. Вы можете установить yii\base\ModelEvent::$isValid в false чтобы остановить обновление.

EVENT_INIT событие типа yii\base\Event

Событие, которое срабатывает при инициализации записи через init().

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-db-baseactiverecord.html

Spec-Zone.ru

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