Project Versions

Table Of Contents

Previous topic

Class Phalcon\Mvc\Model\Message

Next topic

Class Phalcon\Mvc\Model\MetaData\Apc

This Page

Class Phalcon\Mvc\Model\MetaData

Because Phalcon\Mvc\Model requires meta-data like field names, data types, primary keys, etc. this component collect them and store for further querying by Phalcon\Model\Base. Phalcon\Mvc\Model\MetaData can also use adapters to store temporarily or permanently the meta-data. A standard Phalcon\Mvc\Model\MetaData can be used to query model attributes:

<?php

$metaData = new Phalcon\Mvc\Model\MetaData\Memory();
$attributes = $metaData->getAttributes(new Robots());
print_r($attributes);

Constants

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

Methods

protected _initialize ()

Initialize the metadata for certain table

public array readMetaData (Phalcon\Mvc\ModelInterface $model)

Reads meta-data for certain model

public readMetaDataIndex (Phalcon\Mvc\ModelInterface $model, int $index)

Reads meta-data for certain model using a MODEL_* constant

public writeMetaDataIndex (Phalcon\Mvc\ModelInterface $model, int $index, mixed $data)

Writes meta-data for certain model using a MODEL_* constant

public array readColumnMap (Phalcon\Mvc\ModelInterface $model)

Reads the ordered/reversed column map for certain model

public readColumnMapIndex (Phalcon\Mvc\ModelInterface $model, int $index)

Reads column-map information for certain model using a MODEL_* constant

public array getAttributes (Phalcon\Mvc\ModelInterface $model)

Returns table attributes names (fields)

public array getPrimaryKeyAttributes (Phalcon\Mvc\ModelInterface $model)

Returns an array of fields which are part of the primary key

public array getNonPrimaryKeyAttributes (Phalcon\Mvc\ModelInterface $model)

Returns an arrau of fields which are not part of the primary key

public array getNotNullAttributes (Phalcon\Mvc\ModelInterface $model)

Returns an array of not null attributes

public array getDataTypes (Phalcon\Mvc\ModelInterface $model)

Returns attributes and their data types

public array getDataTypesNumeric (Phalcon\Mvc\ModelInterface $model)

Returns attributes which types are numerical

public string getIdentityField (Phalcon\Mvc\ModelInterface $model)

Returns the name of identity field (if one is present)

public array getBindTypes (Phalcon\Mvc\ModelInterface $model)

Returns attributes and their bind data types

public array getAutomaticCreateAttributes (Phalcon\Mvc\ModelInterface $model)

Returns attributes that must be ignored from the INSERT SQL generation

public array getAutomaticUpdateAttributes (Phalcon\Mvc\ModelInterface $model)

Returns attributes that must be ignored from the UPDATE SQL generation

public setAutomaticCreateAttributes (Phalcon\Mvc\ModelInterface $model, array $attributes)

Set the attributes that must be ignored from the INSERT SQL generation

public setAutomaticUpdateAttributes (Phalcon\Mvc\ModelInterface $model, array $attributes)

Set the attributes that must be ignored from the UPDATE SQL generation

public array getColumnMap (Phalcon\Mvc\ModelInterface $model)

Returns the column map if any

public array getReverseColumnMap (Phalcon\Mvc\ModelInterface $model)

Returns the reverse column map if any

public boolean hasAttribute (Phalcon\Mvc\ModelInterface $model, unknown $attribute)

Check if a model has certain attribute

public boolean isEmpty ()

Checks if the internal meta-data container is empty

public reset ()

Resets internal meta-data in order to regenerate it