CakePHP级联条件问题:find('all')

时间:2012-05-13 17:16:26

标签: php model cakephp-2.0 conditional-statements

我尝试使用CakePHP 2来徒劳地执行模型查询。我有3张桌子: 代码:php

“优惠”表(优惠属于一个“地方”) “地方”表(“地方”有许多优惠)(一个地方属于一个“城市”) “城市”表(“城市”有许多“地方”)

我无法找到正确的语法来从特定的“城市”获取“条件”参数中的所有“优惠”。

这是我尝试过的。代码:

$this->set('offers', $this->Offer->find('all', array(
  'conditions' => array('Place.City.name' => 'MyCity'),
  'recursive' => 3)));

模型关系没有问题(“hasOne”,“blongsTo”等),因为我可以使用pr()看到正确的数据。

你有什么想法吗?

1 个答案:

答案 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了解更多详情。