Cakephp, Извлекает данные для моделей HABTM с помощью find
-
21-09-2019 - |
Вопрос
Я новичок в cakephp, и я пытаюсь выполнить что-то, что должно быть относительно простым.У меня есть 2 модели проектов и категорий, связанных отношениями HABTM.
Я пытаюсь выполнить следующий запрос -> найти все проекты, которые принадлежат к определенной категории
$projects = $this->Project->find('all', array('conditions' => array('Category.slug' => $category)));
Однако, когда я делаю это, это генерирует ошибку SQL:
SQL Error: 1054: Unknown column 'Category.slug' in 'where clause'
Что я делаю не так?
Решение
Насколько я знаю, вы можете получить то, что хотите, вот так:
/*in Project Controller file*/
$categorys = $this->Project->Category->find('all', array('conditions' => array('Category.slug' => $category)));
И вы, вероятно, получите что-то вроде следующего, если правильно установите ваши отношения HABTM:
Array
(
[Category] => Array
(
[id] => xxx
[name] => hello there
...
)
[Project] => Array
(
[0] => Array
(
[id] => 123
[name] => Breakfast
)
[1] => Array
(
[id] => 124
[name] => Dessert
)
[2] => Array
(
[id] => 125
[name] => Heart Disease
)
)
)
Это то, чего ты хочешь, не так ли?Видишь работайте с HABTM в cakephp в кулинарной книге.
Не связан с StackOverflow