1
votes

I am new to cakephp and I'm trying to accomplish something that should be relatively easy. I have 2 models projects & categories bind by HABTM relationship.

I am trying to perform the following query -> find all projects that belong to a category

$projects = $this->Project->find('all', array('conditions' => array('Category.slug' => $category)));

However when I'm doing so it generates an SQL error:

SQL Error: 1054: Unknown column 'Category.slug' in 'where clause' 

What am I doing wrong?

1
You can see more on my answer here <br> [link]stackoverflow.com/questions/12450707/…Quy Le

1 Answers

1
votes

As far as I know,you can get what you want like this:

/*in Project Controller file*/

$categorys = $this->Project->Category->find('all', array('conditions' => array('Category.slug' => $category)));

And you will probably get somethin as follows if set you HABTM relationship correctly:

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

It's what's you want,isn't it?See work with HABTM in cakephp in the cookbook.