Phalcon\Mvc\Model\MetaData
Абстрактный класс Phalcon\Mvc\Model\MetaData
Реализует Phalcon\Di\InjectionAwareInterface, Phalcon\Mvc\Model\MetaDataInterface
Поскольку Phalcon\Mvc\Model требует метаданных, таких как имена полей, типы данных, первичные ключи и т. д. этот компонент собирает их и сохраняет для дальнейших запросов с помощью Phalcon\Mvc\Model. Phalcon\Mvc\Model\MetaData также может использовать адаптеры для временного или постоянного хранения метаданных.
Стандартный Phalcon\Mvc\Model\MetaData может использоваться для запроса атрибутов модели:
<?php $metaData = new \Phalcon\Mvc\Model\MetaData\Memory(); $attributes = $metaData->getAttributes( new Robots() ); print_r($attributes);
Константы
integer MODELS_ATTRIBUTES
integer MODELS_PRIMARY_KEY
integer MODELS_NON_PRIMARY_KEY
integer MODELS_NOT_NULL
integer MODELS_DATA_TYPES
integer MODELS_DATA_TYPES_NUMERIC
integer MODELS_DATE_AT
integer MODELS_DATE_IN
integer MODELS_IDENTITY_COLUMN
integer MODELS_DATA_TYPES_BIND
integer MODELS_AUTOMATIC_DEFAULT_INSERT
integer MODELS_AUTOMATIC_DEFAULT_UPDATE
integer MODELS_DEFAULT_VALUES
integer MODELS_EMPTY_STRING_VALUES
integer MODELS_COLUMN_MAP
integer MODELS_REVERSE_COLUMN_MAP
Методы
final protected _initialize (Phalcon\Mvc\ModelInterface $model, mixed $key, mixed $table, mixed $schema)
Инициализация метаданных для определенной таблицы
public setDI (Phalcon\DiInterface $dependencyInjector)
Устанавливает контейнер DependencyInjector
public getDI ()
Возвращает контейнер DependencyInjector
public setStrategy (Phalcon\Mvc\Model\MetaData\StrategyInterface $strategy)
Настройка стратегии извлечения метаданных
public getStrategy ()
Вернуть стратегию для получения метаданных
final public readMetaData (Phalcon\Mvc\ModelInterface $model)
Считывает полные метаданные для определенной модели
<?php print_r( $metaData->readMetaData( new Robots() ) );
final public readMetaDataIndex (Phalcon\Mvc\ModelInterface $model, mixed $index)
Читает метаданные для определенной модели
<?php print_r( $metaData->readMetaDataIndex( new Robots(), 0 ) );
final public writeMetaDataIndex (Phalcon\Mvc\ModelInterface $model, mixed $index, mixed $data)
Записывает метаданные для определенной модели с использованием константы MODEL_ *
<?php print_r( $metaData->writeColumnMapIndex( new Robots(), MetaData::MODELS_REVERSE_COLUMN_MAP, [ "leName" => "name", ] ) );
final public readColumnMap (Phalcon\Mvc\ModelInterface $model)
Считывает упорядоченную / обратную карту столбцов для определенной модели
<?php print_r( $metaData->readColumnMap( new Robots() ) );
final public readColumnMapIndex (Phalcon\Mvc\ModelInterface $model, mixed $index)
Считывает информацию о столбце для определенной модели с использованием константы MODEL_ *
<?php print_r( $metaData->readColumnMapIndex( new Robots(), MetaData::MODELS_REVERSE_COLUMN_MAP ) );
public getAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает имена атрибутов таблиц (полей)
<?php print_r( $metaData->getAttributes( new Robots() ) );
public getPrimaryKeyAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает массив полей, которые являются частью первичного ключа
<?php print_r( $metaData->getPrimaryKeyAttributes( new Robots() ) );
public getNonPrimaryKeyAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает массив полей, которые не являются частью первичного ключа
<?php print_r( $metaData->getNonPrimaryKeyAttributes( new Robots() ) );
public getNotNullAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает массив не нулевых атрибутов
<?php print_r( $metaData->getNotNullAttributes( new Robots() ) );
public getDataTypes (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты и типы данных
<?php print_r( $metaData->getDataTypes( new Robots() ) );
public getDataTypesNumeric (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты, типы которых являются числовыми
<?php print_r( $metaData->getDataTypesNumeric( new Robots() ) );
public string getIdentityField (Phalcon\Mvc\ModelInterface $model)
Возвращает имя поля идентификации (если оно присутствует)
<?php print_r( $metaData->getIdentityField( new Robots() ) );
public getBindTypes (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты и их связанные типы данных
<?php print_r( $metaData->getBindTypes( new Robots() ) );
public getAutomaticCreateAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты, которые должны игнорироваться при создании SQL INSERT
<?php print_r( $metaData->getAutomaticCreateAttributes( new Robots() ) );
public getAutomaticUpdateAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты, которые должны игнорироваться при генерации SQL UPDATE
<?php print_r( $metaData->getAutomaticUpdateAttributes( new Robots() ) );
public setAutomaticCreateAttributes (Phalcon\Mvc\ModelInterface $model, array $attributes)
Задайте атрибуты, которые должны игнорироваться при создании SQL INSERT
<?php $metaData->setAutomaticCreateAttributes( new Robots(), [ "created_at" => true, ] );
public setAutomaticUpdateAttributes (Phalcon\Mvc\ModelInterface $model, array $attributes)
Задайте атрибуты, которые должны игнорироваться при создании SQL UPDATE
<?php $metaData->setAutomaticUpdateAttributes( new Robots(), [ "modified_at" => true, ] );
public setEmptyStringAttributes (Phalcon\Mvc\ModelInterface $model, array $attributes)
Установка атрибутов, допускающих пустые строковые значения
<?php $metaData->setEmptyStringAttributes( new Robots(), [ "name" => true, ] );
public getEmptyStringAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты, допускающие пустые строки
<?php print_r( $metaData->getEmptyStringAttributes( new Robots() ) );
public getDefaultValues (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты (которые имеют значения по умолчанию) и их значения по умолчанию
<?php print_r( $metaData->getDefaultValues( new Robots() ) );
public getColumnMap (Phalcon\Mvc\ModelInterface $model)
Возвращает сопоставление столбцов, если таковые имеются
<?php print_r( $metaData->getColumnMap( new Robots() ) );
public getReverseColumnMap (Phalcon\Mvc\ModelInterface $model)
Возвращает обратную карту столбцов, если таковая
<?php print_r( $metaData->getReverseColumnMap( new Robots() ) );
public hasAttribute (Phalcon\Mvc\ModelInterface $model, mixed $attribute)
Проверяет, имеет ли модель определенный атрибут
<?php var_dump( $metaData->hasAttribute( new Robots(), "name" ) );
public isEmpty ()
Проверяет, свободен ли внутренний контейнер метаданных
<?php var_dump( $metaData->isEmpty() );
public reset ()
Сбрасывает внутренние метаданные для их регенерации
<?php $metaData->reset();
abstract public read (mixed $key) inherited from Phalcon\Mvc\Model\MetaDataInterface
...
abstract public write (mixed $key, mixed $data) inherited from Phalcon\Mvc\Model\MetaDataInterface
...