Spec-Zone.ru › Yii 2.0

Interface yii\db\ActiveRecordInterface

Все классы | Методы
Реализовано в yii\db\ActiveRecord, yii\db\BaseActiveRecord, 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/ActiveRecordInterface.php

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

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

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, соответствующий условию, или null если ничего не соответствует.

getAttribute() public abstract method

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

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

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

public abstract mixed getAttribute ( $name )
$name string

Имя атрибута

return mixed

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

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, возвращаемое значение будет массивом, где ключами являются имена столбцов, а значениями — их значения. Если это false (по умолчанию), для несоставного первичного ключа будет возвращено скалярное значение.

return mixed

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

getPrimaryKey() public abstract method

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

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

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

return mixed

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

getRelation() public abstract method

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

Отношение определяется методом-геттером, который возвращает объект, реализующий yii\db\ActiveQueryInterface (обычно это объект реляционного yii\db\ActiveQuery). Он может быть объявлен как в самом классе ActiveRecord, так и в одном из его поведений.

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

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

$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()) перед сохранением записи. По умолчанию true. Если проверка завершится неудачно, запись не будет сохранена в базе данных, и метод вернёт false.

$attributes array

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

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

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

$model static

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

$extraColumns array

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

populateRelation() public abstract method (доступно с версии 2.0.8)

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

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

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

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

$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()) перед сохранением записи. По умолчанию true. Если проверка завершится неудачно, запись не будет сохранена в базе данных, и метод вернёт false.

$attributeNames array

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

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 строка

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

$model статический

Модель, которую нужно отсоединить от текущей.

$delete булево

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

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()) перед сохранением записи. По умолчанию true. Если валидация завершается неудачно, запись не будет сохранена в базе данных, и этот метод вернёт false.

$attributeNames массив

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

return целое|булево

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

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

Spec-Zone.ru

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