我尝试使用CakePHP 2来徒劳地执行模型查询。我有3张桌子: 代码:php
“优惠”表(优惠属于一个“地方”) “地方”表(“地方”有许多优惠)(一个地方属于一个“城市”) “城市”表(“城市”有许多“地方”)
我无法找到正确的语法来从特定的“城市”获取“条件”参数中的所有“优惠”。
这是我尝试过的。代码:
$this->set('offers', $this->Offer->find('all', array(
'conditions' => array('Place.City.name' => 'MyCity'),
'recursive' => 3)));
模型关系没有问题(“hasOne”,“blongsTo”等),因为我可以使用pr()看到正确的数据。
你有什么想法吗?
答案 0 :(得分:0)
您的商品模型属于所在地,因此商品包含foreignKey,因此您的条件应为:
array('Offer.place_id' => $placeid)
或类似的东西。当place_id是你正在使用的foreignKey时。
编辑:oops,快速阅读。你需要城市而不是地方。我认为您需要为此绑定模型,请参阅:http://mark-story.com/posts/view/using-bindmodel-to-get-to-deep-relations了解更多详情。