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


CakePHP cascade conditions issue: find('all')

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

"报价

"表(一个报价属于一个"地点")一个"地方"表(一个"地方"有很多优惠)(一个地方属于一个"城市")一个"城市"表(一个"城市"有很多"地方")

我无法找到正确的语法来从特定的"城市"中获取所有"优惠",并使用"条件"参数。

这是我尝试过的。法典:

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

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

你有什么想法吗?

你的offer模型属于To place,所以offer包含外键,因此你的条件应该是:

array('Offer.place_id' => $placeid)

或类似的东西。当然,place_id是您使用的外键。

编辑:哎呀,读快。你需要城市而不是地方。我认为您需要为此绑定模型,请参阅:http://mark-story.com/posts/view/using-bindmodel-to-get-to-deep-relations 以获取更多详细信息。