Cakephp, Retreive Veri HABTM Modelleri için find kullanılarak

1 Cevap php

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.

Ben aşağıdaki sorgu gerçekleştirmek için çalışıyorum -> bir kategoriye ait tüm projeler bulmak

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

Ben bunu yapıyorum Ancak bir SQL hatası oluşturur:

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

Ben yanlış ne yapıyorum?

1 Cevap

Bildiğim kadarıyla, sen böyle istediğinizi alabilirsiniz:

/*in Project Controller file*/

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

Doğru ilişki habtm ayarlanmış ise aşağıdaki gibi ve muhtemelen birşey alacaksınız:

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

İstediğin buydu, değil mi? Yemek kitabı work with HABTM in cakephp bakın.