Самый простой способ получить запросы от нескольких моделей на одной странице? - PullRequest
1 голос
/ 20 декабря 2011

На моей странице индекса я планирую получить данные из более чем одной модели. Например, список пользователей из модели пользователей и список последних обновлений из модели сообщений в двух отдельных областях страницы. Как бы я сделал это наилучшим образом? После небольшого исследования кажется, что, возможно, элементы - это то, что я ищу, но я не уверен.

Кстати, я использую торт 2.

1 Ответ

2 голосов
/ 20 декабря 2011

Короткий ответ на ваш вопрос: просто используйте `$ this-> loadModel ('MyModel'); и у вас будет доступ ко всем / всем моделям, которые вы хотите использовать для своей индексной страницы.


OR

Длинный ответ о том, как настроить "домашнюю страницу", которая обращается ко многим моделям:

Вы можете создать DashboardsController (или как вы хотите его называть), затем в модели Dashboard вы указываете, что вам не нужна таблица базы данных: var $useTable = false;

В файле Config / rout.php добавьте: Router::connect('/', array('controller' => 'dashboards', 'action' => 'index'));, чтобы сделать его домашней страницей (если хотите).

Затем в действии index контроллера Dashboard вы можете использовать $this->loadModel('Whatever');, и вы можете перейти к получению данных из этой модели: $myData = $this->Whatever->find('all');. Вы можете загрузить столько моделей, сколько вам потребуется данных.

TLDR / упрощенный:

1) Make Dashboard controller with 'index' action
2) Make Dashboard model and specify: var $useTable = false;
3) Set Route to use your Dashboard controller for homepage (or any other page: 
  `Router::connect('/', array('controller' => 'dashboards', 'action' => 'index'));`
4) Use $this->loadModel('Whatever'); to gain access to that model's methods
...