Cakephp,使用find检索HABTM模型的数据

时间:2010-03-20 16:46:56

标签: php cakephp has-and-belongs-to-many

我是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' 

我做错了什么?

1 个答案:

答案 0 :(得分:1)

据我所知,你可以得到你想要的东西:

/*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
            )
    )
)

这就是你想要的,不是吗?请参阅食谱中的work with HABTM in cakephp