Абстрактный класс 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);
Константы
целое число MODELS_ATTRIBUTES
целое число MODELS_PRIMARY_KEY
целое число MODELS_NON_PRIMARY_KEY
целое число MODELS_NOT_NULL
целое число MODELS_DATA_TYPES
целое число MODELS_DATA_TYPES_NUMERIC
целое число MODELS_DATE_AT
целое число MODELS_DATE_IN
целое число MODELS_IDENTITY_COLUMN
целое число MODELS_DATA_TYPES_BIND
целое число MODELS_AUTOMATIC_DEFAULT_INSERT
целое число MODELS_AUTOMATIC_DEFAULT_UPDATE
целое число MODELS_DEFAULT_VALUES
целое число MODELS_EMPTY_STRING_VALUES
целое число MODELS_COLUMN_MAP
целое число MODELS_REVERSE_COLUMN_MAP
Методы
final protected _initialize (Phalcon\Mvc\ModelInterface $model, смешанный $key, смешанный $table, смешанный $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)
Читает полные метаданные для определённой модели
print_r(
$metaData->readMetaData(
new Robots()
)
);
final public readMetaDataIndex (Phalcon\Mvc\ModelInterface $model, смешанный $index)
Читает метаданные для определённой модели
print_r(
$metaData->readMetaDataIndex(
new Robots(),
0
)
);
final public writeMetaDataIndex (Phalcon\Mvc\ModelInterface $model, смешанный $index, смешанный $data)
Записывает метаданные для определённой модели, используя константу MODEL_*
print_r(
$metaData->writeColumnMapIndex(
new Robots(),
MetaData::MODELS_REVERSE_COLUMN_MAP,
[
"leName" => "name",
]
)
);
final public readColumnMap (Phalcon\Mvc\ModelInterface $model)
Читает упорядоченный/обратный массив столбцов для определённой модели
print_r(
$metaData->readColumnMap(
new Robots()
)
);
final public readColumnMapIndex (Phalcon\Mvc\ModelInterface $model, смешанный $index)
Читает информацию о массиве столбцов для определённой модели, используя константу MODEL_*
print_r(
$metaData->readColumnMapIndex(
new Robots(),
MetaData::MODELS_REVERSE_COLUMN_MAP
)
);
public getAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает имена атрибутов таблицы (поля)
print_r(
$metaData->getAttributes(
new Robots()
)
);
public getPrimaryKeyAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает массив полей, входящих в состав первичного ключа
print_r(
$metaData->getPrimaryKeyAttributes(
new Robots()
)
);
public getNonPrimaryKeyAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает массив полей, не входящих в состав первичного ключа
print_r(
$metaData->getNonPrimaryKeyAttributes(
new Robots()
)
);
public getNotNullAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает массив атрибутов, не допускающих null значений
print_r(
$metaData->getNotNullAttributes(
new Robots()
)
);
public getDataTypes (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты и их типы данных
print_r(
$metaData->getDataTypes(
new Robots()
)
);
public getDataTypesNumeric (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты, типы которых являются числовыми
print_r(
$metaData->getDataTypesNumeric(
new Robots()
)
);
public строка getIdentityField (Phalcon\Mvc\ModelInterface $model)
Возвращает имя поля идентификатора (если оно присутствует)
print_r(
$metaData->getIdentityField(
new Robots()
)
);
public getBindTypes (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты и их типы привязки данных
print_r(
$metaData->getBindTypes(
new Robots()
)
);
public getAutomaticCreateAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты, которые должны быть проигнорированы при генерации INSERT SQL
print_r(
$metaData->getAutomaticCreateAttributes(
new Robots()
)
);
public getAutomaticUpdateAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты, которые должны быть проигнорированы при генерации UPDATE SQL
print_r(
$metaData->getAutomaticUpdateAttributes(
new Robots()
)
);
public setAutomaticCreateAttributes (Phalcon\Mvc\ModelInterface $model, массив $attributes)
Устанавливает атрибуты, которые должны быть проигнорированы при генерации INSERT SQL
$metaData->setAutomaticCreateAttributes(
new Robots(),
[
"created_at" => true,
]
);
public setAutomaticUpdateAttributes (Phalcon\Mvc\ModelInterface $model, массив $attributes)
Устанавливает атрибуты, которые должны быть проигнорированы при генерации UPDATE SQL
$metaData->setAutomaticUpdateAttributes(
new Robots(),
[
"modified_at" => true,
]
);
public setEmptyStringAttributes (Phalcon\Mvc\ModelInterface $model, массив $attributes)
Устанавливает атрибуты, которые допускают пустые строковые значения
$metaData->setEmptyStringAttributes(
new Robots(),
[
"name" => true,
]
);
public getEmptyStringAttributes (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты, допускающие пустые строки
print_r(
$metaData->getEmptyStringAttributes(
new Robots()
)
);
public getDefaultValues (Phalcon\Mvc\ModelInterface $model)
Возвращает атрибуты (имеющие значения по умолчанию) и их значения по умолчанию
print_r(
$metaData->getDefaultValues(
new Robots()
)
);
public getColumnMap (Phalcon\Mvc\ModelInterface $model)
Возвращает массив столбцов, если он существует
print_r(
$metaData->getColumnMap(
new Robots()
)
);
public getReverseColumnMap (Phalcon\Mvc\ModelInterface $model)
Возвращает обратный массив столбцов, если он существует
print_r(
$metaData->getReverseColumnMap(
new Robots()
)
);
public hasAttribute (Phalcon\Mvc\ModelInterface $model, смешанный $attribute)
Проверяет, содержит ли модель определённый атрибут
var_dump(
$metaData->hasAttribute(
new Robots(),
"name"
)
);
public isEmpty ()
Проверяет, пуст ли внутренний контейнер метаданных
var_dump(
$metaData->isEmpty()
);
public reset ()
Сбрасывает внутренние метаданные для их повторной генерации
$metaData->reset();
abstract public read (смешанный $key) унаследовано от Phalcon\Mvc\Model\MetaDataInterface
...
abstract public write (смешанный $key, смешанный $data) унаследовано от Phalcon\Mvc\Model\MetaDataInterface
...
© 2011–2017 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/latest/api/Phalcon_Mvc_Model_MetaData.html