Cakephp模型链接查询问题


Cakephp model linking query problems

这是我的型号:

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

我可以在不使用带有条件的find的情况下执行此查询吗?当我链接模型时,我会给出外键。为什么我必须再次写作?我记得在RubyonRails用户中,照片给了我用户的所有照片。

感谢

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

我可以告诉你为什么它是这样工作的,但不能告诉你为什么设计是这样工作:

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

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