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
...