Абстрактный класс yii\mongodb\file\ActiveRecord
| Наследование | yii\mongodb\file\ActiveRecord » yii\mongodb\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-mongodb/blob/master/file/ActiveRecord.php |
ActiveRecord — базовый класс для классов, представляющих файлы Mongo GridFS в виде объектов.
Для указания исходного файла используйте атрибут \yii\mongodb\file\file. Он может быть указан одним из следующих способов:
- строка — полное имя файла, содержимое которого должно быть сохранено в GridFS
- \yii\web\UploadedFile — экземпляр загруженного файла, содержимое которого должно быть сохранено в GridFS
Например:
$record = new ImageFile(); $record->file = '/path/to/some/file.jpg'; $record->save();
Вы также можете указать содержимое файла через атрибут \yii\mongodb\file\newFileContent:
$record = new ImageFile(); $record->newFileContent = 'New file content'; $record->save();
Примечание: \yii\mongodb\file\newFileContent всегда имеет приоритет над \yii\mongodb\file\file.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $activeValidators | yii\validators\Validator[] | Валидаторы, применимые к текущему $scenario. | yii\base\Model |
| $attributes | массив | Значения атрибутов (имя => значение). | yii\base\Model |
| $behaviors | yii\base\Behavior[] | Список поведений, присоединенных к этому компоненту | yii\base\Component |
| $dirtyAttributes | массив | Измененные значения атрибутов (имя-значение) | yii\db\BaseActiveRecord |
| $errors | массив | Ошибки для всех атрибутов или указанного атрибута. | yii\base\Model |
| $fileContent | null|строка | Содержимое файла. | yii\mongodb\file\ActiveRecord |
| $fileResource | ресурс | Ресурс потока файла. | yii\mongodb\file\ActiveRecord |
| $firstErrors | массив | Первые ошибки. | yii\base\Model |
| $isNewRecord | булево | Является ли запись новой и следует ли вставлять ее при вызове save(). | yii\db\ActiveRecordInterface |
| $iterator | ArrayIterator | Итератор для обхода элементов в списке. | yii\base\Model |
| $oldAttributes | массив | Старые значения атрибутов (имя-значение) | yii\db\BaseActiveRecord |
| $oldPrimaryKey | смешанный тип | Старое значение первичного ключа. | yii\db\ActiveRecordInterface |
| $primaryKey | смешанный тип | Значение первичного ключа. | yii\db\ActiveRecordInterface |
| $relatedRecords | массив | Массив связанных записей, индексированных именами отношений. | yii\db\BaseActiveRecord |
| $scenario | строка | Сценарий, в котором находится эта модель. | yii\base\Model |
| $validators | ArrayObject|yii\validators\Validator[] | Все валидаторы, объявленные в модели. | yii\base\Model |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Магический метод PHP для получения свойств. | yii\db\BaseActiveRecord |
| __isset() | Проверяет, является ли значение свойства нулевым. | 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\mongodb\file\ActiveRecord |
| beforeDelete() | Этот метод вызывается перед удалением записи. | yii\db\BaseActiveRecord |
| beforeSave() | Этот метод вызывается в начале вставки или обновления записи. | yii\db\BaseActiveRecord |
| beforeValidate() | Этот метод вызывается перед началом валидации. | yii\base\Model |
| behaviors() | Возвращает список поведений, которые должен демонстрировать этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\db\BaseActiveRecord |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\db\BaseActiveRecord |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| clearErrors() | Удаляет ошибки для всех атрибутов или одного атрибута. | yii\base\Model |
| collectionName() | Объявляет имя коллекции Mongo, связанной с этим классом AR. | yii\mongodb\ActiveRecord |
| createValidators() | Создает объекты валидаторов на основе правил валидации, указанных в rules(). | yii\base\Model |
| delete() | Удаляет запись из базы данных. | yii\db\ActiveRecordInterface |
| deleteAll() | Удаляет записи, используя указанные условия. | yii\db\ActiveRecordInterface |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| equals() | Возвращает значение, указывающее, является ли данный активный рекорд таким же, как текущий. | yii\db\ActiveRecordInterface |
| extraFields() | Возвращает список полей, которые можно расширить и вернуть методом toArray(). | yii\base\ArrayableTrait |
| fields() | Возвращает список полей, которые должны возвращаться по умолчанию методом toArray(), когда не указаны конкретные поля. | yii\base\ArrayableTrait |
| find() | Создаёт экземпляр \yii\mongodb\file\ActiveQueryInterface для целей запроса. | yii\mongodb\file\ActiveRecord |
| findAll() | Возвращает список моделей активных записей, которые соответствуют указанному значению(ям) первичного ключа или набору значений столбцов. | yii\db\ActiveRecordInterface |
| 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 |
| getCollection() | Возвращает экземпляр коллекции Mongo GridFS для данного класса AR. | yii\mongodb\file\ActiveRecord |
| getDb() | Возвращает подключение, используемое этим классом AR. | yii\db\ActiveRecordInterface |
| getDirtyAttributes() | Возвращает значения атрибутов, которые были изменены с момента их последней загрузки или сохранения. | yii\db\BaseActiveRecord |
| getErrors() | Возвращает ошибки для всех атрибутов или для одного атрибута. | yii\base\Model |
| getFileContent() | Возвращает связанное содержимое файла. | yii\mongodb\file\ActiveRecord |
| getFileResource() | Этот метод возвращает ресурс потока, который может использоваться со всеми функциями работы с файлами в PHP, имеющими дело с чтением файлов. Содержимое файла извлекается из MongoDB по мере необходимости, поэтому весь файл не должен загружаться в память сразу. | yii\mongodb\file\ActiveRecord |
| getFirstError() | Возвращает первую ошибку для указанного атрибута. | yii\base\Model |
| getFirstErrors() | Возвращает первую ошибку для каждого атрибута в модели. | yii\base\Model |
| 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 |
| 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 |
| init() | Инициализирует объект. | yii\db\BaseActiveRecord |
| insert() | Вставляет запись в базу данных, используя значения атрибутов этой записи. | yii\db\ActiveRecordInterface |
| instantiate() | Создаёт экземпляр активной записи. | yii\db\BaseActiveRecord |
| isAttributeActive() | Возвращает значение, указывающее, является ли атрибут активным в текущем сценарии. | yii\base\Model |
| isAttributeChanged() | Возвращает значение, указывающее, был ли изменён указанный атрибут. | yii\db\BaseActiveRecord |
| isAttributeRequired() | Возвращает значение, указывающее, является ли атрибут обязательным. | yii\base\Model |
| isAttributeSafe() | Возвращает значение, указывающее, является ли атрибут безопасным для массового присваивания. | yii\base\Model |
| isPrimaryKey() | Возвращает значение, указывающее, представляет ли данный набор атрибутов первичный ключ для данной модели. | yii\db\ActiveRecordInterface |
| isRelationPopulated() | Проверяет, было ли указанное отношение заполнено записями. | yii\db\BaseActiveRecord |
| 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\db\BaseActiveRecord |
| populateRelation() | Заполняет указанное отношение связанными записями. | yii\db\ActiveRecordInterface |
| primaryKey() | Возвращает имя(на) первичного ключа для этого класса AR. | yii\db\ActiveRecordInterface |
| refresh() | Перезаполняет активную запись последними данными. | yii\db\BaseActiveRecord |
| refreshFile() | Обновляет атрибут \yii\mongodb\file\file из коллекции файлов, используя текущий первичный ключ. | yii\mongodb\file\ActiveRecord |
| 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 |
| toArray() | Преобразует модель в массив. | yii\base\ArrayableTrait |
| trigger() | Вызывает событие. | yii\base\Component |
| unlink() | Удаляет взаимосвязь между двумя записями. | yii\db\ActiveRecordInterface |
| unlinkAll() | Удаляет взаимосвязь в текущей модели. | yii\db\BaseActiveRecord |
| update() | Сохраняет изменения в этой активной записи в базе данных. | yii\db\ActiveRecordInterface |
| updateAll() | Обновляет записи, используя предоставленные значения атрибутов и условия. | yii\db\ActiveRecordInterface |
| updateAllCounters() | Обновляет всю таблицу, используя предоставленные изменения счётчиков и условия. | yii\db\BaseActiveRecord |
| updateAttributes() | Обновляет указанные атрибуты. | yii\db\BaseActiveRecord |
| updateCounters() | Обновляет один или несколько столбцов счётчиков для текущего объекта AR. | yii\db\BaseActiveRecord |
| validate() | Выполняет проверку данных. | yii\base\Model |
| validateMultiple() | Проверяет несколько моделей. | yii\base\Model |
| writeFile() | Записывает внутреннее содержимое файла в заданный файл. | yii\mongodb\file\ActiveRecord |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| createRelationQuery() | Создает экземпляр запроса для отношения has-one или has-many. | yii\db\BaseActiveRecord |
| deleteInternal() | yii\mongodb\ActiveRecord | |
| extractFileName() | Извлекает имя файла из заданного значения файла в сыром виде. | yii\mongodb\file\ActiveRecord |
| findByCondition() | Ищет экземпляр(ы) ActiveRecord по заданному условию. | yii\db\BaseActiveRecord |
| insertInternal() | yii\mongodb\file\ActiveRecord | |
| resolveFields() | Определяет, какие поля могут быть возвращены методом toArray(). | yii\base\ArrayableTrait |
| updateInternal() | yii\mongodb\file\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 |
Константы
| Константа | Значение | Описание | Определено в |
|---|---|---|---|
| SCENARIO_DEFAULT | 'default' | Имя по умолчанию сценария. | yii\base\Model |
Подробное описание свойств
$fileContent общедоступное только для чтения свойство
Содержимое файла.
public null|string getFileContent ( )
$fileResource общедоступное только для чтения свойство
Ресурс потока файла.
public resource getFileResource ( )
Подробное описание методов
attributes() общедоступный метод
Возвращает список всех имён атрибутов модели.
Этот метод может быть переопределен дочерними классами для определения доступных атрибутов. Примечание: все атрибуты, определённые в базовом классе Active Record, должны всегда присутствовать в возвращаемом массиве. Например:
public function attributes()
{
return array_merge(
parent::attributes(),
['tags', 'status']
);
}
| общедоступный массив attributes ( ) | ||
|---|---|---|
| возвращает | массив |
Список имён атрибутов. |
extractFileName() защищённый метод
Извлекает имя файла из заданного значения сырого файла.
| защищённый строка extractFileName ( $file ) | ||
|---|---|---|
| $file | смешанный тип |
Значение сырого файла. |
| возвращает | строка |
Имя файла. |
| бросает | yii\base\InvalidParamException |
при недопустимом значении файла. |
find() общедоступный статический метод
Создаёт экземпляр \yii\mongodb\file\ActiveQueryInterface для целей запроса.
Возвращённый экземпляр \yii\mongodb\file\ActiveQueryInterface можно далее настраивать, вызывая методы, определённые в \yii\mongodb\file\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\mongodb\file\BaseActiveRecord::hasOne() и \yii\mongodb\file\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();
| общедоступный статический yii\mongodb\file\ActiveQuery find ( ) | ||
|---|---|---|
| возвращает | yii\mongodb\file\ActiveQuery |
Новый созданный экземпляр yii\mongodb\file\ActiveQuery. |
getCollection() общедоступный статический метод
Возвращает экземпляр коллекции Mongo GridFS для этого класса AR.
| общедоступный статический yii\mongodb\file\Collection getCollection ( ) | ||
|---|---|---|
| возвращает | yii\mongodb\file\Collection |
Экземпляр коллекции. |
getFileContent() общедоступный метод
Возвращает связанное содержимое файла.
| общедоступный null|строка getFileContent ( ) | ||
|---|---|---|
| возвращает | null|строка |
Содержимое файла. |
| бросает | yii\base\InvalidParamException |
при недопустимом значении атрибута файла. |
getFileResource() общедоступный метод
Этот метод возвращает поток ресурсов, который можно использовать со всеми функциями работы с файлами в PHP, которые обрабатывают чтение файлов. Содержимое файла извлекается из MongoDB в режиме реального времени, поэтому весь файл не нужно загружать в память.
| общедоступный ресурс getFileResource ( ) | ||
|---|---|---|
| возвращает | ресурс |
Ресурс потока файла. |
| бросает | yii\base\InvalidParamException |
при недопустимом значении атрибута файла. |
insertInternal() защищённый метод
См. также yii\mongodb\file\ActiveRecord::insert().
| защищённый void insertInternal ( $attributes = null ) | ||
|---|---|---|
| $attributes | ||
refreshFile() общедоступный метод
Обновляет атрибут \yii\mongodb\file\file из коллекции файлов, используя текущий первичный ключ.
| общедоступный \MongoGridFSFile|null refreshFile ( ) | ||
|---|---|---|
| возвращает | \MongoGridFSFile|null |
Обновлённое значение файла. |
updateInternal() защищённый метод
См. также yii\mongodb\file\ActiveRecord::update().
| защищённый void updateInternal ( $attributes = null ) | ||
|---|---|---|
| $attributes | ||
| бросает | yii\db\StaleObjectException | |
writeFile() общедоступный метод
Записывает внутреннее содержимое файла в заданное имя файла.
| общедоступный булево writeFile ( $filename ) | ||
|---|---|---|
| $filename | строка |
Полное имя файла для записи. |
| возвращает | булево |
Успешно ли выполнена операция. |
| бросает | yii\base\InvalidParamException |
при недопустимом значении атрибута файла. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-mongodb-file-activerecord.html