在 CakePHP 中进行查找时如何进行嵌套选择?
这是我目前拥有的简化数据。
Listings
id | title | content
----------------------
1 | Listing 1 | ...
Media
id | listing_id | file
----------------------------------
1 | 1 | file 1
2 | 1 | file 2
所以当我这样做的时候。
$this->Listing->find('all');
这是我得到的输出。
id | title | content | id | listing_id | file
------------------------------------------------------------------
1 | Listing 1 | ... | 1 | 1 | file 1
1 | Listing 1 | ... | 1 | 1 | file 2
查询如下
SELECT * FROM `listings` AS `Listing`
LEFT JOIN `media` AS `Image` ON (`Listing`.`id` = `Image`.`listing_id`)
但是,我只是想将它与 Media 表的第一行一起加入。
本质上,这是我正在寻找的查询
SELECT * FROM `listings` AS `Listing`
LEFT JOIN `media` AS `Image` ON (`Image`.`id` = (SELECT MIN(`Image`.`id`) FROM `media` AS `Image` WHERE `Listing`.`id` = `Image`.`listing_id`))
如何在 CakePHP 中实现该查询?
谢谢,
三通