Spec-Zone.ru › Yii 2.0

Класс yii\redis\ActiveRecord

Все классы | Свойства | Методы | События | Константы
Наследование yii\redis\ActiveRecord » 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
Доступен с версии 2.0
Исходный код https://github.com/yiisoft/yii2-redis/blob/master/ActiveRecord.php

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

Этот класс реализует паттерн ActiveRecord для хранилища ключей-значений redis.

Для определения записи подкласс должен, как минимум, реализовать метод attributes() для определения атрибутов. Первичный ключ может быть определён через primaryKey(), который по умолчанию равен id, если не указано иное.

Следующий пример модели с названием Customer:

class Customer extends \yii\redis\ActiveRecord
{
    public function attributes()
    {
        return ['id', 'name', 'address', 'registration_date'];
    }
}

Публичные свойства

Свойство Тип Описание Определено в
$activeValidators yii\validators\Validator[] Валидаторы, применимые к текущему $сценарий. 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 boolean Является ли запись новой и должна ли она быть вставлена при вызове 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
$сценарий строка Сценарий, в котором находится эта модель. 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\redis\ActiveRecord
beforeDelete() Этот метод вызывается перед удалением записи. yii\db\BaseActiveRecord
beforeSave() Этот метод вызывается в начале вставки или обновления записи. yii\db\BaseActiveRecord
beforeValidate() Этот метод вызывается перед началом валидации. yii\base\Model
behaviors() Возвращает список поведений, которые должен иметь этот компонент. yii\base\Component
buildKey() Создаёт нормализованный ключ из заданного значения первичного ключа. yii\redis\ActiveRecord
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\redis\ActiveRecord
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
equals() Возвращает значение, указывающее, совпадает ли заданный активный объект с текущим. yii\db\BaseActiveRecord
extraFields() Возвращает список полей, которые можно расширить дальше и вернуть методом toArray(). yii\base\ArrayableTrait
fields() Возвращает список полей, которые должны возвращаться по умолчанию методом toArray(), когда не указаны конкретные поля. yii\base\ArrayableTrait
find() Создаёт экземпляр \yii\redis\ActiveQueryInterface для целей запроса. yii\redis\ActiveRecord
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\redis\ActiveRecord
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\redis\ActiveRecord
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
keyPrefix() Объявляет префикс ключа, представляющего ключи, которые хранят эти записи в Redis. yii\redis\ActiveRecord
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\redis\ActiveRecord
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\redis\ActiveRecord
updateAllCounters() Обновляет всю таблицу, используя предоставленные изменения счетчиков и условия. yii\redis\ActiveRecord
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

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

attributes() метод public

Возвращает список всех имён атрибутов модели.

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

public массив attributes ( )
return массив

Список имён атрибутов.

buildKey() метод public static

Строит нормализованный ключ из заданного значения первичного ключа.

public static строка buildKey ( $key )
$key смешанный тип

Ключ, который необходимо нормализовать

return строка

Сгенерированный ключ

deleteAll() метод public static

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

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

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

Customer::deleteAll(['status' => 3]);
public static целое число deleteAll ( $condition = null )
$condition массив

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

return целое число

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

find() метод public static

Создаёт экземпляр \yii\redis\ActiveQueryInterface для целей запроса.

Полученный экземпляр \yii\redis\ActiveQueryInterface может быть далее настроен вызовом методов, определённых в \yii\redis\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 static yii\redis\ActiveQuery find ( )
return yii\redis\ActiveQuery

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

getDb() метод public static

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

По умолчанию в качестве подключения к базе данных используется компонент "redis" приложения. Вы можете переопределить этот метод, если хотите использовать другое подключение к базе данных.

public static yii\redis\Connection getDb ( )
return yii\redis\Connection

Подключение к базе данных, используемое этим классом AR.

insert() метод public

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

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

$customer = new Customer;
$customer->name = $name;
$customer->email = $email;
$customer->insert();
public логическое значение insert ( $runValidation = true, $attributes = null )
$runValidation логическое значение

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

$attributes массив

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

return логическое значение

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

keyPrefix() метод public static

Объявляет префикс ключа, который представляет ключи, хранящие эти записи в redis.

По умолчанию этот метод возвращает имя класса в качестве имени таблицы, вызывая yii\helpers\Inflector::camel2id(). Например, 'Customer' становится 'customer', а 'OrderItem' становится 'order_item'. Вы можете переопределить этот метод, если вам нужно другое именование ключей.

public static строка keyPrefix ( )
return строка

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

primaryKey() метод public static

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

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

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

public static строка[] primaryKey ( )
return строка[]

Первичные ключи этой записи.

updateAll() метод public static

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

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

Customer::updateAll(['status' => 1], ['id' => 2]);
public static целое число updateAll ( $attributes, $condition = null )
$attributes массив

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

$condition массив

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

return целое число

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

updateAllCounters() метод public static

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

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

Customer::updateAllCounters(['age' => 1]);
public static целое число updateAllCounters ( $counters, $condition = null )
$counters массив

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

$condition массив

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

return целое число

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

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

Spec-Zone.ru

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