我使用images_units连接表在模型Image和Units之间存在多对多关系。
如何将此查询翻译为cakePHP find()?
SELECT * FROM Image, Units, images_units WHERE images_units.unit_id = 29;
现在我在Image-> find('all',$ params)上尝试find();没有运气。
答案 0 :(得分:1)
直接从CakePHP手册:
$this->Image->bindModel(array('hasOne' => array('ImagesUnit')));
$this->Image->find('all', array('fields' => array('Image.*'),'conditions' => array('ImagesUnit.unit_id' => 29)));
当然,您需要在模型中定义HABTM关联。 See the whole section on HABTM了解如何使用它。
答案 1 :(得分:0)
在图像模型中,添加以下代码:
$hasAndBelongsToMany = 'Unit';
find()
控制器中的Images
应如下所示:
$this->Image->find('all', array('conditions'=>array('Unit.id'=>29)));
仍然不太确定这是你正在寻找的但我认为这是正确的。