Документация InstantCMS

для администраторов и разработчиков

Инструменты пользователя

Инструменты сайта


dev:controllers:model

Работа с моделью

На этой странице рассмотрена только работа с моделью из контроллера, то есть ее подключение и вызов методов. Внутреннее устройство самой модели рассмотрено в соответствующем разделе.

Подключение собственной модели

При вызове контроллера компонент автоматически определяет наличие собственной модели. В случае если она обнаружена создается объект:

$this->model

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

Пример использования модели внутри контроллера:

$latest_posts = $this->model->orderBy('date_pub', 'desc')->limit(10)->getPosts();

Подключение чужой модели

Контроллер также может использовать модель другого компонента.

Для получения экземпляра чужой модели служит статический метод ядра cmsCore::getModel(). В качестве аргумента ему передается название компонента, чью модель необходимо получить.

Например, чтобы получить модель компонента users:

// Получаем модель компонента users
$users_model = cmsCore::getModel('users');
 
// Получаем данные из модели
$users = $users_model->getUsers();

В версиях InstantCMS выше 2.8.2, можно использовать обращением к динамическим свойствам $this→model_CONTROLLER_NAME, где CONTROLLER_NAME название требуемого контроллера, к модели которого нужно подключиться. Пример выше можно переписать вот так:

// Получаем данные из модели users
$users = $this->model_users->getUsers();

К оглавлению раздела "Контроллеры"


К оглавлению раздела "Модели"


К оглавлению документации для разработчиков

dev/controllers/model.txt · Последние изменения: 16.10.2017 23:54 — fuze