我有一个名为Event的数据库表,它在CakePHP中的关系编码如下:
var $belongsTo = array('Sport');
var $hasOne = array('Result', 'Point', 'Writeup', 'Timetable', 'Photo');
现在正在进行查询,只想拉出运动,点和时间表
这将导致我检索体育,赛事,积分和时间表。
不拉动所有内容的原因是由于结果有17000多行。
有没有办法只使用以下方法选择这些表:
$this->Event->find('all');
我看过API,但看不出它是如何完成的。
答案 0 :(得分:4)
您应该在app_model中将recursive设置为-1,并且只提取您需要的内容。永远不要使用递归2和http://book.cakephp.org/view/1323/Containable很棒。
只需$ this-> Event-> find('all',array('contains'=> array()));
如果你在app_model中做递归的把戏为-1,那就不需要了,如果只是像你一样找到('all')