Cakephp, Извлекает данные для моделей HABTM с помощью find

StackOverflow https://stackoverflow.com/questions/2483862

Вопрос

Я новичок в 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 в кулинарной книге.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top