Это, наверное, немой вопрос, но я не могу найти окончательного ответа нигде. Можно ли получить доступ к данным модели в контроллере, и если да, то как?Можете ли вы получить данные модели в контроллере в CakePHP?
Я попытался следующие:
$this->set('mydata', $this->Model->find('all', 'conditions' => array('id' => 'someID')));
И к нему доступ через это в контроллере:
$mydata['Model']['field']
Но это, кажется, только для представлений.
Есть ли способ получить доступ к данным модели в контроллере? Причина в том, что мне нужно выполнить вычисления на связанной модели (принадлежит), которая не может быть выполнена с помощью скрытых полей или чего-либо, потому что идентификатор связанной модели не передается до тех пор, пока форма не будет отправлена.
Любая помощь была бы принята с благодарностью!
Спасибо за ответ! То, что я пытаюсь сделать, это выполнить вычисление, которое использует бит данных из представления формы и смешивает его с данными из связанной модели ownTo. Вы говорите, что у меня должна быть функция в связанной модели, которая выполняет вычисления, а затем просто вызывает ее в контроллере? – Justin
Зависит от того, что вы пытаетесь сделать, но мой ответ по существу «да». :) Лучше хранить данные, изменяющие данные, в ваших моделях (это их цель!), Если только это не будет отображаться в представлении (т. Е. Если это только проблема форматирования - в этом случае я 'd используйте специальный помощник, который подготовит данные для отображения). –
Спасибо. Я начал реализовывать это по всему проекту, и это определенно делает код более читаемым, чтобы иметь все запросы БД в моделях! – Justin