我有这些表格:
在CakePHP中,我有这些模型:
作者 hasMany 发布
发布所属作者
发布 hasAndBelongsToMany 标记
标记 hasAndBelongsToMany 发布
我想要的是:
对于每个标记,请列出其作者的所有相关帖子。
所以我将能够做到这一点,例如:
所有模型都使用Containable
行为:
class AppModel extends Model
{
public $recursive = -1;
public $actsAs = array('Containable');
}
搜索:
$tags = $this->Tag->find('all', array(
'contain' => array(
'Post' => array('Author')
)
));
我得到了很好的结果:
但是这种搜索会产生太多的SQL查询:
我不明白为什么CakePHP不使用SQL连接。我试过没有Containable和递归= 2,并且查询与Containable一样多。
如何使用最少的SQL查询获得与上述图像相同的结果?目前,如果有大量数据,则可能有超过100个SQL查询。
很抱歉发布了很长的帖子和语言错误(我是法语),并提前感谢你。