Абстрактный класс 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 может использоваться для запроса атрибутов модели:
$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_COLUMN_MAP
integer MODELS_REVERSE_COLUMN_MAP
Методы
protected _initialize ()
Инициализация метаданных для определенной таблицы
public setDI (Phalcon\DiInterface $dependencyInjector)
Устанавливает контейнер DependencyInjector
public Phalcon\DiInterface getDI ()
Возвращает контейнер DependencyInjector
public setStrategy (Phalcon\Mvc\Model\MetaData\Strategy\Introspection $strategy)
Устанавливает стратегию извлечения метаданных
public Phalcon\Mvc\Model\MetaData\Strategy\Introspection getStrategy ()
Возвращает стратегию получения метаданных
public array readMetaData (Phalcon\Mvc\ModelInterface $model)
Считывает полные метаданные для определенной модели
print_r($metaData->readMetaData(new Robots()));
public array readMetaDataIndex (Phalcon\Mvc\ModelInterface $model, int $index)
Считывает метаданные для определенной модели, используя константу MODEL_*
print_r($metaData->writeColumnMapIndex(new Robots(), MetaData::MODELS_REVERSE_COLUMN_MAP, array('leName' => 'name')));
public writeMetaDataIndex (Phalcon\Mvc\ModelInterface $model, int $index, mixed $data, unknown $replace)
Записывает метаданные для определенной модели, используя константу MODEL_*
print_r($metaData->writeColumnMapIndex(new Robots(), MetaData::MODELS_REVERSE_COLUMN_MAP, array('leName' => 'name')));
public array readColumnMap (Phalcon\Mvc\ModelInterface $model)
Считывает упорядоченный/обратный массив столбцов для определенной модели
print_r($metaData->readColumnMap(new Robots()));
public readColumnMapIndex (Phalcon\Mvc\ModelInterface $model, int $index)
Считывает информацию о map столбцов для определенной модели, используя константу MODEL_*
print_r($metaData->readColumnMapIndex(new Robots(), MetaData::MODELS_REVERSE_COLUMN_MAP));
public array getAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает имена атрибутов таблицы (поля)
print_r($metaData->getAttributes(new Robots()));
public array getPrimaryKeyAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает массив полей, входящих в первичный ключ
print_r($metaData->getPrimaryKeyAttributes(new Robots()));
public array getNonPrimaryKeyAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает массив полей, не входящих в первичный ключ
print_r($metaData->getNonPrimaryKeyAttributes(new Robots()));
public array getNotNullAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает массив атрибутов, не допускающих NULL
print_r($metaData->getNotNullAttributes(new Robots()));
public array getDataTypes (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты и их типы данных
print_r($metaData->getDataTypes(new Robots()));
public array getDataTypesNumeric (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты, типы которых являются числовыми
print_r($metaData->getDataTypesNumeric(new Robots()));
public string getIdentityField (Phalcon\Mvc\ModelInterface $model)
Возвращает имя поля идентификатора (если оно присутствует)
print_r($metaData->getIdentityField(new Robots()));
public array getBindTypes (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты и их типы данных привязки
print_r($metaData->getBindTypes(new Robots()));
public array getAutomaticCreateAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты, которые должны быть пропущены при генерации SQL INSERT
print_r($metaData->getAutomaticCreateAttributes(new Robots()));
public array getAutomaticUpdateAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты, которые должны быть пропущены при генерации SQL UPDATE
print_r($metaData->getAutomaticUpdateAttributes(new Robots()));
public setAutomaticCreateAttributes (Phalcon\Mvc\ModelInterface $model, array $attributes, unknown $replace)
Устанавливает атрибуты, которые должны быть пропущены при генерации SQL INSERT
$metaData->setAutomaticCreateAttributes(new Robots(), array('created_at' => true));
public setAutomaticUpdateAttributes (Phalcon\Mvc\ModelInterface $model, array $attributes, unknown $replace)
Устанавливает атрибуты, которые должны быть пропущены при генерации SQL UPDATE
$metaData->setAutomaticUpdateAttributes(new Robots(), array('modified_at' => true));
public array getColumnMap (Phalcon\Mvc\ModelInterface $model)
Возвращает map столбцов, если он существует
print_r($metaData->getColumnMap(new Robots()));
public array getReverseColumnMap (Phalcon\Mvc\ModelInterface $model)
Возвращает обратный map столбцов, если он существует
print_r($metaData->getReverseColumnMap(new Robots()));
public boolean hasAttribute (Phalcon\Mvc\ModelInterface $model, string $attribute)
Проверяет, содержит ли модель определенный атрибут
var_dump($metaData->hasAttribute(new Robots(), 'name'));
public boolean isEmpty ()
Проверяет, пуст ли внутренний контейнер метаданных
var_dump($metaData->isEmpty());
public reset ()
Сбрасывает внутренние метаданные для их повторной генерации
$metaData->reset();
abstract public array read (string $key) унаследованный от Phalcon\Mvc\Model\MetaDataInterface
Считывает метаданные из адаптера
abstract public write (string $key, array $data) унаследованный от Phalcon\Mvc\Model\MetaDataInterface
Записывает метаданные в адаптер
© 2011–2016 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/2.0.0/api/Phalcon_Mvc_Model_MetaData.html