Класс Phalcon\Mvc\Model\Manager

Реализует Phalcon\Mvc\Model\ManagerInterface, Phalcon\Di\InjectionAwareInterface, Phalcon\Events\EventsAwareInterface

Source on GitHub

Эти компоненты управляют инициализацией моделей, сохраняя запись отношений между различными моделями приложения.

ModelsManager вводится в модель через инжектор зависимостей/контейнер служб, такой как Phalcon\Di.

<?php

use Phalcon\Di;
use Phalcon\Mvc\Model\Manager as ModelsManager;

$di = new Di();

$di->set(
    "modelsManager",
    function() {
        return new ModelsManager();
    }
);

$robot = new Robots($di);

Методы

public setDI (Phalcon\DiInterface $dependencyInjector)

Устанавливает контейнер DependencyInjector

public getDI ()

Возвращает контейнер DependencyInjector

public setEventsManager (Phalcon\Events\ManagerInterface $eventsManager)

Устанавливает глобальный менеджер событий

public getEventsManager ()

Возвращает внутренний менеджер событий

public setCustomEventsManager (Phalcon\Mvc\ModelInterface $model, Phalcon\Events\ManagerInterface $eventsManager)

Задает пользовательский менеджер событий для конкретной модели

public getCustomEventsManager (Phalcon\Mvc\ModelInterface $model)

Возвращает пользовательский менеджер событий, связанный с моделью

public initialize (Phalcon\Mvc\ModelInterface $model)

Инициализирует модель в диспетчере моделей

public isInitialized (mixed $modelName)

Проверьте, инициализирована ли модель

public getLastInitialized ()

Вам последней инициализации модели

public load (mixed $modelName, [mixed $newInstance])

Загружает модель, выбрасывая исключение, если она не существует

public setModelPrefix (mixed $prefix)

Задает префикс для всех источников модели.

<?php

use Phalcon\Mvc\Model\Manager;

$di->set("modelsManager", function () {
    $modelsManager = new Manager();
    $modelsManager->setModelPrefix("wp_");

    return $modelsManager;
});

$robots = new Robots();
echo $robots->getSource(); // wp_robots

public getModelPrefix ()

Возвращает префикс для всех источников модели.

<?php

use Phalcon\Mvc\Model\Manager;

$di->set("modelsManager", function () {
    $modelsManager = new Manager();
    $modelsManager->setModelPrefix("wp_");

    return $modelsManager;
});

$robots = new Robots();
echo $robots->getSource(); // wp_robots

public setModelSource (Phalcon\Mvc\ModelInterface $model, mixed $source)

Устанавливает сопоставленный источник для модели

final public isVisibleModelProperty (Phalcon\Mvc\ModelInterface $model, mixed $property)

Проверяет, объявлено ли свойство модели как public.

<?php

$isPublic = $manager->isVisibleModelProperty(
    new Robots(),
    "name"
);

public getModelSource (Phalcon\Mvc\ModelInterface $model)

Возвращает сопоставленный источник для модели

public setModelSchema (Phalcon\Mvc\ModelInterface $model, mixed $schema)

Задает сопоставленную схему для модели

public getModelSchema (Phalcon\Mvc\ModelInterface $model)

Возвращает сопоставленную схему для модели

public setConnectionService (Phalcon\Mvc\ModelInterface $model, mixed $connectionService)

Устанавливает службу записи и чтения для модели

public setWriteConnectionService (Phalcon\Mvc\ModelInterface $model, mixed $connectionService)

Устанавливает службу подключения записи для модели

public setReadConnectionService (Phalcon\Mvc\ModelInterface $model, mixed $connectionService)

Устанавливает службу чтения для модели

public getReadConnection (Phalcon\Mvc\ModelInterface $model)

Возвращает соединение для чтения данных, относящихся к модели

public getWriteConnection (Phalcon\Mvc\ModelInterface $model)

Возвращает соединение для записи данных, связанных с моделью

protected _getConnection (Phalcon\Mvc\ModelInterface $model, mixed $connectionServices)

Возвращает соединение для чтения или записи данных, относящихся к модели, в зависимости от служб подключения.

public getReadConnectionService (Phalcon\Mvc\ModelInterface $model)

Возвращает имя службы подключения, используемое для чтения данных, относящихся к модели

public getWriteConnectionService (Phalcon\Mvc\ModelInterface $model)

Возвращает имя службы подключения, используемое для записи данных, относящихся к модели

public _getConnectionService (Phalcon\Mvc\ModelInterface $model, mixed $connectionServices)

Возвращает имя службы соединения, используемое для чтения или записи данных, связанных с моделью, в зависимости от служб подключения

public notifyEvent (mixed $eventName, Phalcon\Mvc\ModelInterface $model)

Получает события, сгенерированные в моделях, и отправляет их диспетчеру событий, если он доступен. Уведомлять поведение, которое прослушивается в модели.

public missingMethod (Phalcon\Mvc\ModelInterface $model, mixed $eventName, mixed $data)

Отправка события прослушивателям и поведениям этот метод ожидает, что слуатели/поведения конечных точек вернут значение true, означающее, что реализован хотя бы один из них

public addBehavior (Phalcon\Mvc\ModelInterface $model, Phalcon\Mvc\Model\BehaviorInterface $behavior)

Связывает поведение с моделью

public keepSnapshots (Phalcon\Mvc\ModelInterface $model, mixed $keepSnapshots)

Устанавливает, должна ли модель сохранять снимки

public isKeepingSnapshots (Phalcon\Mvc\ModelInterface $model)

Проверяет, сохраняет ли модель снимки для запрошенных записей

public useDynamicUpdate (Phalcon\Mvc\ModelInterface $model, mixed $dynamicUpdate)

Устанавливает, должна ли модель использовать динамическое обновление вместо обновления всего поля

public isUsingDynamicUpdate (Phalcon\Mvc\ModelInterface $model)

Проверяет, использует ли модель динамическое обновление вместо обновления всего поля

public Phalcon\Mvc\Model\Relation addHasOne (Phalcon\Mvc\Model $model, mixed $fields, string $referencedModel, mixed $referencedFields, [array $options])

Настройка отношения 1-1 между двумя моделями

public Phalcon\Mvc\Model\Relation addBelongsTo (Phalcon\Mvc\Model $model, mixed $fields, string $referencedModel, mixed $referencedFields, [array $options])

Настройка отношения обратного  n-1 между двумя моделями

public addHasMany (Phalcon\Mvc\ModelInterface $model, mixed $fields, string $referencedModel, mixed $referencedFields, [array $options])

Устанавливает отношение 1-n между двумя моделями

public Phalcon\Mvc\Model\Relation addHasManyToMany (Phalcon\Mvc\ModelInterface $model, string $fields, string $intermediateModel, string $intermediateFields, string $intermediateReferencedFields, string $referencedModel, string $referencedFields, [array $options])

Устанавливает отношения n-m между двумя моделями

public existsBelongsTo (mixed $modelName, mixed $modelRelation)

Проверяет, есть ли у модели отношение "принадлежит" с другой моделью

public existsHasMany (mixed $modelName, mixed $modelRelation)

Проверяет, имеет ли модель отношение "имеет много" к другой модели

public existsHasOne (mixed $modelName, mixed $modelRelation)

Проверяет, имеет ли модель отношение "имеет один" к другой модели

public existsHasManyToMany (mixed $modelName, mixed $modelRelation)

Проверяет, имеет ли модель отношение "имеет много для многих" к другой модели

public getRelationByAlias (mixed $modelName, mixed $alias)

Возвращает отношение по его псевдониму

final protected _mergeFindParameters (mixed $findParamsOne, mixed $findParamsTwo)

Объединить два массива параметров поиска

public Phalcon\Mvc\Model\Resultset\Simple | Phalcon\Mvc\Model\Resultset\Simple | int | false getRelationRecords (Phalcon\Mvc\Model\RelationInterface $relation, mixed $method, Phalcon\Mvc\ModelInterface $record, [mixed $parameters])

Вспомогательный метод для запроса записей на основе определения отношения

public getReusableRecords (mixed $modelName, mixed $key)

Возвращает повторно используемый объект из внутреннего списка

public setReusableRecords (mixed $modelName, mixed $key, mixed $records)

Хранит многократно используемую запись во внутреннем списке

public clearReusableObjects ()

Очищает внутренний список для многократного использования

public getBelongsToRecords (mixed $method, mixed $modelName, mixed $modelRelation, Phalcon\Mvc\ModelInterface $record, [mixed $parameters])

Получает 'принадлежит' связанные записи из модели

public getHasManyRecords (mixed $method, mixed $modelName, mixed $modelRelation, Phalcon\Mvc\ModelInterface $record, [mixed $parameters])

Получает 'имеет много' связанные записи из модели

public getHasOneRecords (mixed $method, mixed $modelName, mixed $modelRelation, Phalcon\Mvc\ModelInterface $record, [mixed $parameters])

Получает 'принадлежит' связанные записи из модели

public getBelongsTo (Phalcon\Mvc\ModelInterface $model)

Возвращает все отношения 'принадлежит', определенные в модели

<?php

$relations = $modelsManager->getBelongsTo(
    new Robots()
);

public getHasMany (Phalcon\Mvc\ModelInterface $model)

Получает 'имеет много' отношения, определенные в модели

public getHasOne (Phalcon\Mvc\ModelInterface $model)

Получает 'имеет один' отношения, определенные на модели

public getHasManyToMany (Phalcon\Mvc\ModelInterface $model)

Получает 'имеет много для многих' отношения, определенные на модели

public getHasOneAndHasMany (Phalcon\Mvc\ModelInterface $model)

Получает 'имеет один' отношения, определенные на модели

public getRelations (mixed $modelName)

Запросить все отношения, определенные на модели

public getRelationsBetween (mixed $first, mixed $second)

Запросить первое соотношение между двумя моделями

public createQuery (mixed $phql)

Создает Phalcon\Mvc\Model\Query без выполнения

public executeQuery (mixed $phql, [mixed $placeholders], [mixed $types])

Создает Phalcon\Mvc\Model\Query и выполняет его

public createBuilder ([mixed $params])

Создает Phalcon\Mvc\Model\Query\Builder

public getLastQuery ()

Возвращает последний запрос, созданный или выполненный в диспетчере моделей

public registerNamespaceAlias (mixed $alias, mixed $namespaceName)

Регистрирует более короткие псевдонимы для пространств имен в операторах PHQL

public getNamespaceAlias (mixed $alias)

Возвращает реальное пространство имен из псевдонима

public getNamespaceAliases ()

Возвращает все зарегистрированные псевдонимы пространства имен

public __destruct ()

Уничтожает текущий кэш PHQL