2012-05-13 61 views
0

我尝试使用CakePHP 2徒劳地执行模型查询。我有3个表: 代码:PHPCakePHP级联条件问题:find('all')

“要约”表(要约属于一个“地方”) “地点”表(A“地方”有很多报价)(A地方属于一个“城市”) 一个“城市”表(一个“城市”有很多“地方”)

我无法找到合适的语法,以获得从一个特定的“城市”trouhg所有“优惠” “条件”参数。

在这里,我试过。代码:

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

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

你有什么想法吗?

回答

0

你的报价模型属于关联的地方,所以服务包含了外键,因此您的情况应该是:

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

或类似的东西。当然,place_id是您正在使用的foreignKey。

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

+0

非常感谢,我会尽力回复你。 – croustibapt

+0

它工作。非常感谢。如果你使用CakePHP 2.0,不要忘记调用$ this-> MyModel-> unbindModel而不是$ this-> unbindModel – croustibapt