0

我有几个模型,都有适当命名的模型文件。

$this->Property->PropertyImage->Image->read();

都相应地联系起来。问题是,递归模型无法附加到所有关系,并且由于某种原因AppModel在我执行var_dumpon时返回数据类型$this->PropertyImage。当我这样做时,var_dump($this->Property);我得到数据类型:Property.

这是怎么回事,什么会导致这种情况发生?另外我该如何解决这个问题?

4

2 回答 2

0

基于 Marko 所说,如果您有 HABTM 关系,最好的选择是使用连接表 properties_images。

然后,无需执行 Property->PropertyImage->Image,您只需执行 Property->Image->read/find()。

关于 HABTM 关系,我无法理解的是如何根据相关模型中的标准进行过滤。例如,您不能这样做:

$this->Property->Image->find( 'all', array( 'conditions' => array( 'Image.id' => 7 ) ) );

相反,您必须将 Containable 行为添加到 Property 模型中,如http://book.cakephp.org/view/474/Containable手册中所述。

于 2010-02-10T16:54:08.547 回答
0

您的应用程序中有模型还是 HABTMPropertyImage关联?如果您有一个包含有AndBelongsToMany Image 的属性,您需要在数据库中有一个数据透视表properties_images$this->Property->Image

于 2010-02-10T05:52:56.890 回答