在CakePHP find中未获取关联模型
我经历了一种奇怪的行为: 在在CakePHP find中未获取关联模型,cakephp,Cakephp,我经历了一种奇怪的行为: 在$results['capital']中,为资本模型获取每个包含的模型(因此,CapitalCategory、CapitalCategory->Category和Picture) 但是在$results['category']中,对于CapitalCategory模型,不获取图片模型(仅获取大写字母和类别) 为了清晰起见,我附上了一个屏幕截图: 有什么问题吗?我应该去哪里看?谢谢大家! 编辑 这是$results['capital']数组的输出 [0] =>
$results['capital']
中,为资本模型获取每个包含的模型(因此,CapitalCategory、CapitalCategory->Category和Picture)
但是在$results['category']
中,对于CapitalCategory模型,不获取图片模型(仅获取大写字母和类别)
为了清晰起见,我附上了一个屏幕截图:
有什么问题吗?我应该去哪里看?谢谢大家!
编辑
这是$results['capital']
数组的输出
[0] => Array
(
[Capital] => Array
(
[name] => N'Djamena
[id] => 81
)
[CapitalCategory] => Array
(
[0] => Array
(
[value] => Ciad
[category_id] => 2
[capital_id] => 81
[Category] => Array
(
[name] => Ţară
)
)
)
[Picture] => Array
(
[0] => Array
(
[picture] => http://farm2.static.flickr.com/1270/879755600_126f8824db_s.jpg
[capital_id] => 81
)
)
)
下面是$results['category']
数组的输出(因为它们相似,所以我只放了一条记录):
问题似乎是CakePHP希望在
字段
数组中包含所有外键。因此,我在字段
数组中添加了'CapitalCategory.capital\u id'
后,将显示图片。仍然不明白为什么第一个查询有效,而这个查询无效,但我很高兴我找到了答案。你能发布你的模型关系吗。。。我认为资本属于图片。所以不要包含特定的字段。。像这样更改代码//contain=>array('Capital'=>array('Picture')//首先试试这个。。如果它来了,那么加上你的条件,但不要加上特定的fieldCapital有许多属于Capital的图片。我试图删除条件和字段,但结果相同。这是非常奇怪的,因为,如上所述,数组的第一部分检索我需要的所有内容,而查询的构建与第二部分完全相同。我很少使用字段选项,所以我没有想到。
[0] => Array
(
[CapitalCategory] => Array
(
[value] => America de Sud
)
[Capital] => Array
(
[name] => Asuncion
[id] => 56
)
[Category] => Array
(
[name] => Continent
[id] => 1
)
)