Interface yii\db\ActiveRecordInterface
ActiveRecordInterface
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| attributes() | Возвращает список всех имён атрибутов записи. | yii\db\ActiveRecordInterface |
| delete() | Удаляет запись из базы данных. | yii\db\ActiveRecordInterface |
| deleteAll() | Удаляет записи, используя заданные условия. | yii\db\ActiveRecordInterface |
| equals() | Возвращает значение, указывающее, совпадает ли данная активная запись с текущей. | yii\db\ActiveRecordInterface |
| find() | Создаёт экземпляр yii\db\ActiveQueryInterface для целей запроса. | yii\db\ActiveRecordInterface |
| findAll() | Возвращает список моделей активных записей, соответствующих указанным значениям первичного ключа(ей) или набору значений столбцов. | yii\db\ActiveRecordInterface |
| findOne() | Возвращает единственную модель активной записи по первичному ключу или массиву значений столбцов. | yii\db\ActiveRecordInterface |
| getAttribute() | Возвращает значение атрибута с указанным именем. | yii\db\ActiveRecordInterface |
| getDb() | Возвращает соединение, используемое этим классом AR. | yii\db\ActiveRecordInterface |
| getIsNewRecord() | Возвращает значение, указывающее, является ли текущая запись новой (не сохранена в базе данных). | yii\db\ActiveRecordInterface |
| getOldPrimaryKey() | Возвращает старое значение первичного ключа(ей). | yii\db\ActiveRecordInterface |
| getPrimaryKey() | Возвращает значение первичного ключа(ей). | yii\db\ActiveRecordInterface |
| getRelation() | Возвращает объект связи с указанным именем. | yii\db\ActiveRecordInterface |
| hasAttribute() | Возвращает значение, указывающее, содержит ли запись атрибут с указанным именем. | yii\db\ActiveRecordInterface |
| insert() | Вставляет запись в базу данных, используя значения атрибутов этой записи. | yii\db\ActiveRecordInterface |
| isPrimaryKey() | Возвращает значение, указывающее, представляет ли заданный набор атрибутов первичный ключ для этой модели. | yii\db\ActiveRecordInterface |
| link() | Устанавливает связь между двумя записями. | yii\db\ActiveRecordInterface |
| populateRelation() | Заполняет указанную связь связанными записями. | yii\db\ActiveRecordInterface |
| primaryKey() | Возвращает имя(на) первичного ключа для этого класса AR. | yii\db\ActiveRecordInterface |
| save() | Сохраняет текущую запись. | yii\db\ActiveRecordInterface |
| setAttribute() | Устанавливает значение атрибута с указанным именем. | yii\db\ActiveRecordInterface |
| unlink() | Удаляет связь между двумя записями. | yii\db\ActiveRecordInterface |
| update() | Сохраняет изменения в этой активной записи в базе данных. | yii\db\ActiveRecordInterface |
| updateAll() | Обновляет записи, используя предоставленные значения атрибутов и условия. | yii\db\ActiveRecordInterface |
Подробное описание методов
attributes() public abstract method
Возвращает список всех имён атрибутов записи.
| public abstract array attributes ( ) | ||
|---|---|---|
| return | array |
Список имён атрибутов. |
delete() public abstract method
Удаляет запись из базы данных.
| public abstract integer|boolean delete ( ) | ||
|---|---|---|
| return | integer|boolean |
Количество удалённых строк, или |
deleteAll() public abstract static method
Удаляет записи, используя предоставленные условия.
ВНИМАНИЕ: Если вы не укажете никаких условий, этот метод удалит ВСЕ строки в таблице.
Например, чтобы удалить всех клиентов, чей статус равен 3:
Customer::deleteAll([status = 3]);
| public abstract static integer deleteAll ( $condition = null ) | ||
|---|---|---|
| $condition | array |
Условие, соответствующее записям, которые должны быть удалены. Обратитесь к yii\db\QueryInterface::where(), чтобы узнать, как указать этот параметр. Пустое условие будет соответствовать всем записям. |
| return | integer |
Количество удалённых строк |
equals() public abstract method
Возвращает значение, указывающее, является ли данная активная запись такой же, как текущая.
Две новые записи считаются не равными.
| public abstract boolean equals ( $record ) | ||
|---|---|---|
| $record | static |
Запись для сравнения |
| return | boolean |
Являются ли две активные записи ссылками на одну и ту же строку в одной и той же таблице базы данных. |
find() public abstract static method
Создаёт экземпляр yii\db\ActiveQueryInterface для целей запроса.
Возвращённый экземпляр yii\db\ActiveQueryInterface можно дополнительно настроить, вызвав методы, определённые в yii\db\ActiveQueryInterface, перед тем как one() или all() будет вызвано для возврата заполненных экземпляров ActiveRecord. Например,
// find the customer whose ID is 1
$customer = Customer::find()->where(['id' => 1])->one();
// find all active customers and order them by their age:
$customers = Customer::find()
->where(['status' => 1])
->orderBy('age')
->all();
Этот метод также вызывается yii\db\BaseActiveRecord::hasOne() и yii\db\BaseActiveRecord::hasMany() для создания реляционного запроса.
Вы можете переопределить этот метод для возврата настроенного запроса. Например,
class Customer extends ActiveRecord
{
public static function find()
{
// use CustomerQuery instead of the default ActiveQuery
return new CustomerQuery(get_called_class());
}
}
Следующий код показывает, как применить условие по умолчанию для всех запросов:
class Customer extends ActiveRecord
{
public static function find()
{
return parent::find()->where(['deleted' => false]);
}
}
// Use andWhere()/orWhere() to apply the default condition
// SELECT FROM customer WHERE `deleted`=:deleted AND age>30
$customers = Customer::find()->andWhere('age>30')->all();
// Use where() to ignore the default condition
// SELECT FROM customer WHERE age>30
$customers = Customer::find()->where('age>30')->all();
| public abstract static yii\db\ActiveQueryInterface find ( ) | ||
|---|---|---|
| return | yii\db\ActiveQueryInterface |
Созданный экземпляр yii\db\ActiveQueryInterface. |
findAll() public abstract static method
Возвращает список моделей активной записи, которые соответствуют заданному значению(ям) первичного ключа или набору значений столбцов.
Метод принимает:
- скалярное значение (целое число или строка): запрос по одному значению первичного ключа и возвращает массив, содержащий соответствующую запись (или пустой массив, если не найдено).
- массив без ассоциативных ключей: запрос по списку значений первичного ключа и возвращает соответствующие записи (или пустой массив, если не найдено ни одной). Обратите внимание, что пустое условие приведёт к пустому результату, так как оно будет интерпретировано как поиск первичных ключей, а не пустого
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 abstract static array findAll ( $condition ) | ||
|---|---|---|
| $condition | mixed |
Значение первичного ключа или набор значений столбцов |
| return | array |
Массив экземпляров ActiveRecord, или пустой массив, если ничего не соответствует. |
findOne() public abstract static method
Возвращает единственную модель активной записи по первичному ключу или набору значений столбцов.
Метод принимает:
- скалярное значение (целое число или строка): запрос по одному значению первичного ключа и возвращает соответствующую запись (или
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 abstract static static findOne ( $condition ) | ||
|---|---|---|
| $condition | mixed |
Значение первичного ключа или набор значений столбцов |
| return | static |
Экземпляр ActiveRecord, соответствующий условию, или |
getAttribute() public abstract method
Возвращает значение атрибута с указанным именем.
Если эта запись является результатом запроса и атрибут не загружен, возвращается null.
См. также hasAttribute().
| public abstract mixed getAttribute ( $name ) | ||
|---|---|---|
| $name | string |
Имя атрибута |
| return | mixed |
Значение атрибута. |
getDb() public abstract static method
Возвращает подключение, используемое этим классом AR.
| public abstract static mixed getDb ( ) | ||
|---|---|---|
| return | mixed |
Подключение к базе данных, используемое этим классом AR. |
getIsNewRecord() public abstract method
Возвращает значение, указывающее, является ли текущая запись новой (не сохранённой в базе данных).
| public abstract boolean getIsNewRecord ( ) | ||
|---|---|---|
| return | boolean |
Является ли запись новой и должна ли она быть вставлена при вызове save(). |
getOldPrimaryKey() public abstract method
Возвращает старое значение первичного ключа.
Это значение первичного ключа, которое заполняется в запись после выполнения метода поиска (например, find(), findOne()). Значение остаётся неизменным, даже если атрибут первичного ключа вручную назначен с другим значением.
| public abstract mixed getOldPrimaryKey ( $asArray = false ) | ||
|---|---|---|
| $asArray | boolean |
Определяет, следует ли возвращать значение первичного ключа в виде массива. Если true, возвращаемое значение будет массивом, где ключами являются имена столбцов, а значениями — их значения. Если это |
| return | mixed |
Значение старого первичного ключа. Массив (имя столбца => значение столбца) возвращается, если первичный ключ составной или |
getPrimaryKey() public abstract method
Возвращает значение(я) первичного ключа.
| public abstract mixed getPrimaryKey ( $asArray = false ) | ||
|---|---|---|
| $asArray | boolean |
Определяет, следует ли возвращать значение первичного ключа в виде массива. Если true, возвращаемое значение будет массивом, где ключами являются имена атрибутов, а значениями — их значения. Обратите внимание, что для составных первичных ключей всегда возвращается массив, независимо от этого параметра. |
| return | mixed |
Значение первичного ключа. Массив (имя атрибута => значение атрибута) возвращается, если первичный ключ составной или |
getRelation() public abstract method
Возвращает объект отношения с указанным именем.
Отношение определяется методом-геттером, который возвращает объект, реализующий yii\db\ActiveQueryInterface (обычно это объект реляционного yii\db\ActiveQuery). Он может быть объявлен как в самом классе ActiveRecord, так и в одном из его поведений.
| public abstract yii\db\ActiveQueryInterface getRelation ( $name, $throwException = true ) | ||
|---|---|---|
| $name | string |
Имя отношения, например, |
| $throwException | boolean |
Определяет, следует ли выбросить исключение, если отношения не существует. |
| return | yii\db\ActiveQueryInterface |
Объект запроса отношения |
hasAttribute() public abstract method
Возвращает значение, указывающее, содержит ли запись атрибут с указанным именем.
| public abstract boolean hasAttribute ( $name ) | ||
|---|---|---|
| $name | string |
Имя атрибута |
| return | boolean |
Содержит ли запись атрибут с указанным именем. |
insert() public abstract method
Вставляет запись в базу данных, используя значения атрибутов этой записи.
Пример использования:
$customer = new Customer; $customer->name = $name; $customer->email = $email; $customer->insert();
| public abstract boolean insert ( $runValidation = true, $attributes = null ) | ||
|---|---|---|
| $runValidation | boolean |
Выполнять ли проверку (вызов validate()) перед сохранением записи. По умолчанию |
| $attributes | array |
Список атрибутов, которые необходимо сохранить. По умолчанию |
| return | boolean |
Являются ли атрибуты валидными и запись успешно вставлена. |
isPrimaryKey() public abstract static method
Возвращает значение, указывающее, представляет ли данный набор атрибутов первичный ключ для этой модели.
| public abstract static boolean isPrimaryKey ( $keys ) | ||
|---|---|---|
| $keys | array |
Набор атрибутов для проверки |
| return | boolean |
Представляет ли данный набор атрибутов первичный ключ для этой модели |
link() public abstract method
Устанавливает связь между двумя записями.
Связь устанавливается путем задания значения(й) внешнего ключа в одной записи, которое(ые) соответствуют значению(ям) первичного ключа в другой записи. Запись с внешним ключом будет сохранена в базе данных без выполнения проверки.
Если связь включает таблицу соединения, в таблицу соединения будет вставлена новая строка, содержащая значения первичного ключа из обеих записей.
Этот метод требует, чтобы значение первичного ключа не было null.
| public abstract void link ( $name, $model, $extraColumns = [] ) | ||
|---|---|---|
| $name | string |
Регистрозависимое имя связи, например, |
| $model | static |
Запись, которая должна быть связана с текущей. |
| $extraColumns | array |
Дополнительные значения столбцов, которые необходимо сохранить в таблицу соединения. Этот параметр имеет смысл только для связи, включающей таблицу соединения (т. е. связь, заданная с помощью yii\db\ActiveQueryInterface::via()). |
populateRelation() public abstract method (доступно с версии 2.0.8)
Заполняет указанное отношение связанными записями.
Обратите внимание, что этот метод не проверяет, существует ли отношение или нет.
| public abstract void populateRelation ( $name, $records ) | ||
|---|---|---|
| $name | string |
Имя отношения, например, |
| $records | yii\db\ActiveRecordInterface|array|null |
Связанные записи, которые нужно добавить в отношение. |
primaryKey() public abstract static method
Возвращает имя(на) первичного ключа для данного класса AR.
Обратите внимание, что должен возвращаться массив, даже если у записи только один первичный ключ.
Для получения значения первичного ключа см. getPrimaryKey() вместо этого.
| public abstract static string[] primaryKey ( ) | ||
|---|---|---|
| return | string[] |
Имя(на) первичного ключа для данного класса AR. |
save() public abstract method
Сохраняет текущую запись.
Этот метод вызовет insert(), когда isNewRecord равно true, или update(), когда isNewRecord равно false.
Например, для сохранения записи клиента:
$customer = new Customer; // or $customer = Customer::findOne($id); $customer->name = $name; $customer->email = $email; $customer->save();
| public abstract boolean save ( $runValidation = true, $attributeNames = null ) | ||
|---|---|---|
| $runValidation | boolean |
Выполнять ли проверку (вызов validate()) перед сохранением записи. По умолчанию |
| $attributeNames | array |
Список имён атрибутов, которые необходимо сохранить. По умолчанию |
| return | boolean |
Успешно ли сохранение (т. е. не возникло ошибок проверки). |
setAttribute() public abstract method
Устанавливает значение атрибута с указанным именем.
См. также hasAttribute().
| public abstract void setAttribute ( $name, $value ) | ||
|---|---|---|
| $name | строка |
Имя атрибута. |
| $value | смешанный тип |
Значение атрибута. |
unlink() public abstract method
Удаляет связь между двумя записями.
Запись с внешним ключом отношения будет удалена, если $delete имеет значение true. В противном случае внешний ключ будет установлен null и запись будет сохранена без проверки.
| public abstract void unlink ( $name, $model, $delete = false ) | ||
|---|---|---|
| $name | строка |
Наименование отношения (чувствительное к регистру), например |
| $model | статический |
Модель, которую нужно отсоединить от текущей. |
| $delete | булево |
Определяет, нужно ли удалить модель, содержащую внешний ключ. Если false, внешний ключ модели будет установлен |
update() public abstract method
Сохраняет изменения в этой активной записи в базе данных.
Пример использования:
$customer = Customer::findOne($id); $customer->name = $name; $customer->email = $email; $customer->update();
| public abstract целое|булево update ( $runValidation = true, $attributeNames = null ) | ||
|---|---|---|
| $runValidation | булево |
Выполнять ли валидацию (вызывая validate()) перед сохранением записи. По умолчанию |
| $attributeNames | массив |
Список атрибутов, которые нужно сохранить. По умолчанию |
| return | целое|булево |
Количество изменённых строк или |
updateAll() public abstract static method
Обновляет записи, используя предоставленные значения атрибутов и условия.
Например, чтобы изменить статус на 1 для всех клиентов, у которых статус 2:
Customer::updateAll(['status' => 1], ['status' => '2']);
| public abstract static целое updateAll ( $attributes, $condition = null ) | ||
|---|---|---|
| $attributes | массив |
Значения атрибутов (имя-значение) для сохранения записи. В отличие от update(), они не будут проверены. |
| $condition | массив |
Условие, которое соответствует записям, которые должны быть обновлены. Обратитесь к yii\db\QueryInterface::where(), чтобы узнать, как указать этот параметр. Пустое условие соответствует всем записям. |
| return | целое |
Количество обновлённых строк |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-db-activerecordinterface.html