Spec-Zone.ru › Yii 2.0

Абстрактный класс yii\sphinx\ActiveRecord

Все классы | Свойства | Методы | События | Константы
Наследование yii\sphinx\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-sphinx/blob/master/ActiveRecord.php

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

Предупреждение: оптимистическая блокировка НЕ будет работать в случае обновления полей (не атрибутов) для индексов runtime!

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

Свойство Тип Описание Определено в
$activeValidators yii\validators\Validator[] Валидаторы, применимые к текущему $scenario. yii\base\Model
$attributes array Значения атрибутов (имя => значение). yii\base\Model
$behaviors yii\base\Behavior[] Список поведений, присоединенных к этому компоненту yii\base\Component
$dirtyAttributes array Измененные значения атрибутов (имя-значение). yii\db\BaseActiveRecord
$errors array Ошибки для всех атрибутов или указанного атрибута. yii\base\Model
$firstErrors array Первые ошибки. yii\base\Model
$isNewRecord boolean Является ли запись новой и должна ли она быть вставлена при вызове save(). yii\db\ActiveRecordInterface
$iterator ArrayIterator Итератор для обхода элементов в списке. yii\base\Model
$oldAttributes array Предыдущие значения атрибутов (имя-значение). yii\db\BaseActiveRecord
$oldPrimaryKey mixed Старое значение первичного ключа. yii\db\ActiveRecordInterface
$primaryKey mixed Значение первичного ключа. yii\db\ActiveRecordInterface
$relatedRecords array Массив связанных записей, индексированных по именам отношений. yii\db\BaseActiveRecord
$scenario string Сценарий, в котором находится эта модель. yii\base\Model
$snippet string yii\sphinx\ActiveRecord
$snippetSource string Строка исходного фрагмента. yii\sphinx\ActiveRecord
$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\sphinx\ActiveRecord
beforeDelete() Этот метод вызывается перед удалением записи. yii\db\BaseActiveRecord
beforeSave() Этот метод вызывается в начале операции вставки или обновления записи. yii\db\BaseActiveRecord
beforeValidate() Этот метод вызывается перед началом валидации. yii\base\Model
behaviors() Возвращает список поведений, которые должен проявлять этот компонент. yii\base\Component
callKeywords() Возвращает токенизированные и нормализованные формы ключевых слов, а также, необязательно, статистику по ключевым словам. yii\sphinx\ActiveRecord
callSnippets() Создаёт фрагмент из предоставленных данных и запроса, используя указанные настройки индекса. yii\sphinx\ActiveRecord
canGetProperty() Возвращает значение, указывающее, можно ли считать свойство. yii\db\BaseActiveRecord
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\db\BaseActiveRecord
className() Возвращает полное квалифицированное имя этого класса. yii\base\Object
clearErrors() Удаляет ошибки для всех атрибутов или одного атрибута. yii\base\Model
createValidators() Создаёт объекты валидаторов на основе правил валидации, указанных в rules(). yii\base\Model
delete() Удаляет запись в индексе, соответствующую этому активному записям. yii\sphinx\ActiveRecord
deleteAll() Удаляет строки в индексе, используя предоставленные условия. yii\sphinx\ActiveRecord
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
equals() Возвращает значение, указывающее, является ли заданный активный запрос таким же, как текущий. yii\sphinx\ActiveRecord
extraFields() Возвращает список полей, которые могут быть дополнительно расширены и возвращены методом toArray(). yii\base\ArrayableTrait
fields() Возвращает список полей, которые должны быть возвращены по умолчанию методом toArray(), когда не указаны конкретные поля. yii\base\ArrayableTrait
find() Создаёт экземпляр \yii\sphinx\ActiveQueryInterface для целей запроса. yii\sphinx\ActiveRecord
findAll() Возвращает список активных записей модели, которые соответствуют указанному(ым) значению(ям) первичного ключа или набору значений столбцов. yii\db\ActiveRecordInterface
findBySql() Создаёт экземпляр yii\sphinx\ActiveQuery с заданным SQL-запросом. yii\sphinx\ActiveRecord
findOne() Возвращает единственный экземпляр активной записи модели по первичному ключу или массиву значений столбцов. yii\db\ActiveRecordInterface
formName() Возвращает имя формы, которое должен использовать этот класс модели. yii\base\Model
generateAttributeLabel() Генерирует понятную пользователю метку атрибута на основе имени атрибута. yii\base\Model
getActiveValidators() Возвращает валидаторы, применимые к текущему $сценарий. yii\base\Model
getAttribute() Возвращает значение атрибута с указанным именем. yii\db\ActiveRecordInterface
getAttributeHint() Возвращает подсказку к указанному атрибуту. yii\db\BaseActiveRecord
getAttributeLabel() Возвращает метку к указанному атрибуту. yii\db\BaseActiveRecord
getAttributes() Возвращает значения атрибутов. yii\base\Model
getBehavior() Возвращает объект поведения с указанным именем. yii\base\Component
getBehaviors() Возвращает все присоединенные к этому компоненту поведения. yii\base\Component
getDb() Возвращает подключение к Sphinx, используемое этим классом AR. yii\sphinx\ActiveRecord
getDirtyAttributes() Возвращает значения атрибутов, которые были изменены с момента их последней загрузки или сохранения. yii\db\BaseActiveRecord
getErrors() Возвращает ошибки для всех атрибутов или одного атрибута. yii\base\Model
getFirstError() Возвращает первую ошибку для указанного атрибута. yii\base\Model
getFirstErrors() Возвращает первую ошибку для каждого атрибута в модели. yii\base\Model
getIndexSchema() Возвращает информацию о схеме индекса Sphinx, связанного с этим классом AR. yii\sphinx\ActiveRecord
getIsNewRecord() Возвращает значение, указывающее, является ли текущий записной новый (не сохранённый в базе данных). yii\db\ActiveRecordInterface
getIterator() Возвращает итератор для обхода атрибутов модели. yii\base\Model
getOldAttribute() Возвращает старое значение указанного атрибута. yii\db\BaseActiveRecord
getOldAttributes() Возвращает старые значения атрибутов. yii\db\BaseActiveRecord
getOldPrimaryKey() Возвращает старое значение(я) первичного ключа. yii\db\ActiveRecordInterface
getPrimaryKey() Возвращает значение(я) первичного ключа. yii\db\ActiveRecordInterface
getRelatedRecords() Возвращает все связанные записи. yii\db\BaseActiveRecord
getRelation() Возвращает объект отношения с указанным именем. yii\db\ActiveRecordInterface
getScenario() Возвращает сценарий, в котором используется эта модель. yii\base\Model
getSnippet() Возвращает текущее значение фрагмента или генерирует новое из заданного совпадения. yii\sphinx\ActiveRecord
getSnippetSource() Возвращает строку, которая должна использоваться в качестве источника для создания фрагмента для этого экземпляра Active Record. yii\sphinx\ActiveRecord
getValidators() Возвращает все валидаторы, объявленные в rules(). yii\base\Model
hasAttribute() Возвращает значение, указывающее, есть ли у записи атрибут с указанным именем. yii\db\ActiveRecordInterface
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
indexName() Объявляет имя индекса Sphinx, связанного с этим классом AR. yii\sphinx\ActiveRecord
init() Инициализирует объект. yii\db\BaseActiveRecord
insert() Вставляет строку в связанный индекс Sphinx, используя значения атрибутов этой записи. yii\sphinx\ActiveRecord
instantiate() Создаёт экземпляр активной записи. yii\db\BaseActiveRecord
isAttributeActive() Возвращает значение, указывающее, активен ли атрибут в текущем сценарии. yii\base\Model
isAttributeChanged() Возвращает значение, указывающее, был ли изменён указанный атрибут. yii\db\BaseActiveRecord
isAttributeRequired() Возвращает значение, указывающее, обязателен ли атрибут. yii\base\Model
isAttributeSafe() Возвращает значение, указывающее, является ли атрибут безопасным для массового присваивания. yii\base\Model
isPrimaryKey() Возвращает значение, указывающее, представляет ли данный набор атрибутов первичный ключ для этой модели yii\db\ActiveRecordInterface
isRelationPopulated() Проверяет, было ли отношение с указанным именем заполнено записями. yii\db\BaseActiveRecord
isTransactional() Возвращает значение, указывающее, является ли указанная операция транзакционной в текущем $scenario. yii\sphinx\ActiveRecord
link() Устанавливает взаимосвязь между двумя записями. yii\db\ActiveRecordInterface
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\sphinx\ActiveRecord
populateRelation() Заполняет указанное отношение связанными записями. yii\db\ActiveRecordInterface
primaryKey() Возвращает имя первичного ключа для данного класса AR. yii\sphinx\ActiveRecord
refresh() Перезаполняет активную запись последними данными. yii\db\BaseActiveRecord
rules() Возвращает правила валидации для атрибутов. yii\base\Model
safeAttributes() Возвращает имена атрибутов, которые безопасно массово присваивать в текущей ситуации. yii\base\Model
save() Сохраняет текущую запись. yii\db\ActiveRecordInterface
scenarios() Возвращает список сценариев и соответствующие активные атрибуты. yii\base\Model
setAttribute() Устанавливает значение указанного атрибута. yii\db\ActiveRecordInterface
setAttributes() Устанавливает значения атрибутов массивно. yii\base\Model
setIsNewRecord() Устанавливает значение, указывающее, является ли запись новой. yii\db\BaseActiveRecord
setOldAttribute() Устанавливает старое значение указанного атрибута. yii\db\BaseActiveRecord
setOldAttributes() Устанавливает старые значения атрибутов. yii\db\BaseActiveRecord
setScenario() Устанавливает сценарий для модели. yii\base\Model
setSnippet() yii\sphinx\ActiveRecord
toArray() Преобразует модель в массив. yii\base\ArrayableTrait
transactions() Объявляет, какие операции должны выполняться в транзакции в разных сценариях. yii\sphinx\ActiveRecord
trigger() Вызывает событие. yii\base\Component
unlink() Уничтожает связь между двумя записями. yii\db\ActiveRecordInterface
unlinkAll() Уничтожает связь в текущей модели. yii\db\BaseActiveRecord
update() Сохраняет изменения в этой активной записи в связанном индексе Sphinx. yii\sphinx\ActiveRecord
updateAll() Обновляет всю таблицу с использованием предоставленных значений атрибутов и условий. yii\sphinx\ActiveRecord
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
fetchSnippet() Формирует значение фрагмента из данного запроса. yii\sphinx\ActiveRecord
findByCondition() Ищет экземпляр(ы) ActiveRecord по заданному условию. yii\db\BaseActiveRecord
resolveFields() Определяет, какие поля могут быть возвращены методом toArray(). yii\base\ArrayableTrait
updateInternal() yii\sphinx\ActiveRecord

События

Событие Тип Описание Определено в
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

Константы

Константа Значение Описание Определено в
OP_ALL 7 Все три операции: вставка, обновление, удаление. Это сокращение выражения: OP_INSERT | OP_UPDATE | OP_DELETE. yii\sphinx\ActiveRecord
OP_DELETE 4 Операция удаления. Используется в основном при переопределении transactions() для указания транзакционных операций. yii\sphinx\ActiveRecord
OP_INSERT 1 Операция вставки. Используется в основном при переопределении transactions() для указания транзакционных операций. yii\sphinx\ActiveRecord
OP_UPDATE 2 Операция обновления. Используется в основном при переопределении transactions() для указания транзакционных операций. yii\sphinx\ActiveRecord
SCENARIO_DEFAULT 'default' Имя сценария по умолчанию. yii\base\Model

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

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

public string getSnippet ( $match = null, $options = [] )
public void setSnippet ( $snippet )

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

Строка источника фрагмента.

public string getSnippetSource ( )

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

attributes() public method

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

Реализация по умолчанию вернёт все имена столбцов таблицы, связанной с этим классом AR.

public array attributes ( )
return array

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

callKeywords() public static method

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

public static array callKeywords ( $text, $fetchStatistic = false )
$text string

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

$fetchStatistic boolean

Нужно ли вернуть статистику по документам и совпадениям.

return array

Ключевые слова и статистика.

callSnippets() public static method

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

public static string|array callSnippets ( $source, $match, $options = [] )
$source string|array

Источник данных для извлечения фрагмента. Может быть строкой или массивом строк.

$match string

Полный текстовый запрос для создания фрагментов.

$options array

Список параметров в формате: имя параметра => значение параметра.

return string|array

Созданный фрагмент, если "source" — строка; список созданных фрагментов, если "source" — массив.

delete() public method

Удаляет запись индекса, соответствующую этому активному записям.

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

  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 Exception

в случае, если удаление не удалось.

deleteAll() public static method

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

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

Article::deleteAll('status = 3');
public static integer deleteAll ( $condition = '', $params = [] )
$condition string|array

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

$params array

Параметры (имя => значение), которые будут привязаны к запросу.

return integer

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

equals() public method

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

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

public boolean equals ( $record )
$record yii\sphinx\ActiveRecord

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

return boolean

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

fetchSnippet() protected method

Создаёт значение фрагмента из данного запроса.

protected string fetchSnippet ( $match, $options = [] )
$match string

Полный текстовый запрос для создания фрагментов.

$options array

Список параметров в формате: имя параметра => значение параметра.

return string

Значение фрагмента.

find() public static method

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

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

Созданный экземпляр yii\sphinx\ActiveQuery.

findBySql() public static method

Создаёт экземпляр yii\sphinx\ActiveQuery с заданным SQL-запросом.

Обратите внимание, что, поскольку SQL-запрос уже задан, вызов дополнительных методов изменения запроса (например, where(), order()) на созданном экземпляре yii\sphinx\ActiveQuery не повлияет. Однако, вызов with(), asArray() или indexBy() по-прежнему допустим.

Ниже пример:

$customers = Article::findBySql("SELECT * FROM `idx_article` WHERE MATCH('development')")->all();
public static yii\sphinx\ActiveQuery findBySql ( $sql, $params = [] )
$sql string

SQL-запрос, который нужно выполнить.

$params array

Параметры, которые нужно привязать к SQL-запросу во время выполнения.

return yii\sphinx\ActiveQuery

Созданный экземпляр yii\sphinx\ActiveQuery

getDb() public static method

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

По умолчанию используется компонент приложения "sphinx" как подключение к Sphinx. Можно переопределить этот метод, если нужно использовать другое подключение к Sphinx.

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

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

getIndexSchema() public static method

Возвращает схему индекса Sphinx, связанную с этим классом AR.

public static yii\sphinx\IndexSchema getIndexSchema ( )
возвращает yii\sphinx\IndexSchema

Информация о схеме индекса Sphinx, связанного с этим классом AR.

выбрасывает yii\base\InvalidConfigException

если индекс для класса AR не существует.

getSnippet() public method

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

public string getSnippet ( $match = null, $options = [] )
$match string

Запрос источника сниппета

$options array

Список опций в формате: имяОпции => значениеОпции

возвращает string

Значение сниппета

getSnippetSource() public method

Возвращает строку, которая должна использоваться в качестве источника для создания сниппета для этого экземпляра Active Record.

Подклассы должны реализовать этот метод, чтобы вернуть фактический текст источника сниппета. Например:

public function getSnippetSource()
{
    return $this->snippetSourceRelation->content;
}
public string getSnippetSource ( )
возвращает string

Строка источника сниппета.

выбрасывает yii\base\NotSupportedException

если это не поддерживается классом Active Record

indexName() public static method

Объявляет имя индекса Sphinx, связанного с этим классом AR.

По умолчанию этот метод возвращает имя класса в качестве имени индекса, вызывая yii\helpers\Inflector::camel2id(). Например, 'Article' становится 'article', а 'StockItem' становится 'stock_item'. Вы можете переопределить этот метод, если индекс не называется по этой соглашения.

public static string indexName ( )
возвращает string

Имя индекса

insert() public method

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

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

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

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

Будут вставлены только \yii\sphinx\changedAttributes.

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

$article = new Article();
$article->id = $id;
$article->genre_id = $genreId;
$article->content = $content;
$article->insert();
public boolean insert ( $runValidation = true, $attributes = null )
$runValidation boolean

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

$attributes array

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

возвращает boolean

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

выбрасывает Exception

в случае неудачной вставки.

isTransactional() public method

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

public boolean isTransactional ( $operation )
$operation integer

Операция для проверки. Возможные значения: OP_INSERT, OP_UPDATE и OP_DELETE.

возвращает boolean

Является ли указанная операция транзакционной в текущем $scenario.

populateRecord() public static method

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

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

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

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

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

$row array

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

primaryKey() public static method

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

Реализация по умолчанию вернёт первичный ключ, как объявленный в индексе Sphinx, связанном с этим классом AR.

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

public static string[] primaryKey ( )
возвращает string[]

Первичные ключи связанного индекса Sphinx.

setSnippet() public method

public void setSnippet ( $snippet )
$snippet string

transactions() public method

Объявляет, какие операции должны выполняться в транзакции в разных сценариях.

Поддерживаемые операции БД: OP_INSERT, OP_UPDATE и OP_DELETE, которые соответствуют методам insert(), update() и delete() соответственно. По умолчанию, эти методы НЕ заключены в транзакцию.

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

return [
    'admin' => self::OP_INSERT,
    'api' => self::OP_INSERT | self::OP_UPDATE | self::OP_DELETE,
    // the above is equivalent to the following:
    // 'api' => self::OP_ALL,

];

Это объявление указывает, что в сценарии "admin" операция вставки (insert()) должна выполняться в транзакции; и в сценарии "api" все операции должны выполняться в транзакции.

public array transactions ( )
возвращает array

Объявления транзакционных операций. Ключи массива — имена сценариев, а значения — соответствующие операции транзакции.

update() public method

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

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

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

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

В базу данных будут сохранены только значения из \yii\sphinx\changedAttributes.

Например, для обновления записи статьи:

$article = Article::findOne($id);
$article->genre_id = $genreId;
$article->group_id = $groupId;
$article->update();

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

if ($this->update() !== false) {
    // update successful
} else {
    // update failed
}
public целое число|false update ( $runValidation = true, $attributeNames = null )
$runValidation boolean

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

$attributeNames массив

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

return целое число|false

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

throws yii\db\StaleObjectException

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

throws Исключение

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

updateAll() public static method

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

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

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

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

$condition строка|массив

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

$params массив

Параметры (имя => значение) для привязки к запросу.

return целое число

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

updateInternal() protected method

См. также \yii\sphinx\CActiveRecord::update().

protected void updateInternal ( $attributes = null )
$attributes
throws yii\db\StaleObjectException

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

Spec-Zone.ru

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