cakePHP 2.3.1:hasMany通过2个以上的表

时间:2013-03-07 11:10:32

标签: cakephp-2.3

我有模型关系的问题,我不确定是否应该使用hasMany或其他技术。我正在尝试创建一个用于创建调查的应用。我有以下关系:

Topics hasMany Quests
Quests hasMany Questoptions

但是当我试图通过TopicsController访问主题模型时,我只获得了主题和链接的任务,而不是Questoptions。当我访问Quest Model时,我会获得所有Quests和链接的Questoptions。如何在一个数组中获取链接任务和链接的Questoptions的所有主题?

hasMany似乎不是答案,因为它不是很多很多情况......

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

是的,递归会完成这项工作,但你最好使用可包含的行为:http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html

基本上,设置递归会设置Cake将应用于该模型中所有关系的级别 - 因此可以导致您获得的数据超出实际需要的数量,并使您的应用程序速度低于可能的速度。

对于任何给定数据库的请求,可包含的内容更精细,并且允许您精确选择您执行和不想要的相关数据。