Cakephp模型链接查询问题

时间:2012-02-10 11:58:43

标签: php cakephp cakephp-2.0 cakephp-appmodel

这是我的模特:

User hasmany Photos

Photo belongto User

真的很简单一对多的关系。

在控制器中,我想查看一个用户的所有照片。

$this->User->id = $id
$this->User->Photos->read()

那不行,我知道如果我使用

$cond=array(
    'conditions' => array('UserId =' => $id),
    'recursive' => -1 
    );
$relationsFrom = $this->User->Photos->find('all', $cond);

我可以在不使用条件查找的情况下执行此查询吗? 当我链接模型时,我给出了外键。我为什么要再写一次? 我记得在Ruby on Rails User.Photos上给了我用户的所有照片。

由于

2 个答案:

答案 0 :(得分:1)

为什么不使用Containable行为?它将以您想要的方式为您选择相关模型。它将根据您的关系选择相关字段

答案 1 :(得分:0)

我可以告诉你它为什么会这样,但不是为什么设计就像那样工作:

对象$this->User->PhotosPhoto模型类的一个实例,它没有对引用它的User模型的特殊引用。您可以使用$this->User->Photos,就像使用new Photo一样。

CakePHP的数据库层围绕将编码为数组的查询,将其转换为SQL,并将结果作为数据数组返回的方法。它不像一些ORM那样构建查询对象。