所以我的模型关联如下:

获得多项荣誉的人

人员列:ID,姓名
奖励栏:id,person_id,姓名

因此人们可以获得很多奖项,但是我只想同时检索同时获得两个不同奖项的那些特定人员。有没有一种方法可以使用find方法来实现?

最佳答案

$persons = $this->Person->find('all', array(
                           'recursive' => -1,
                           'conditions' => array(
                              'AND' => array('Award.name' => 'Award 1', 'Award.name' => 'Award 3')
                            ),
                           'joins' => array(
                                array(
                                   'table' =>'awards',
                                   'alias' => 'Award',
                                   'type' => 'LEFT',
                                   'conditions' => 'Award.person_id = person.id'
                                 )
                            )
                      )
                 );

关于mysql - CakePHP X有很多Y,找到具有Y.name =“value1”且同时具有Y.name =“value2”的X,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10621782/

10-11 03:32