ActiveRecord Join获得第一张相关产品照片

时间:2012-06-16 20:28:11

标签: codeigniter activerecord join

我在CodeIgniter中使用ActiveRecord与MySQL数据库进行交互。

我有一个产品表和一个product_photo表,用于存储产品的相关照片以及每个product_photo的sort_order。

我正在尝试选择第一张产品照片(最低排序顺序),但似乎无法使其正常工作。

我已经把它归结为选择product_photo并将产品加入到它(我最初尝试相反)但我总是以第一个product_photo为第一个测试产品,第二个product_photo用于第二个测试产品。< / p>

为了进一步简化,我尝试仅选择product_photo记录,按product_id和sort_order对它们进行排序,然后将其吐出来,但最终仍会得到错误匹配的结果。

这是我的ActiveRecord查询:

$this->db->select('product_id, url, sort_order')
         ->from('product_photo')
         ->order_by('product_id, sort_order')
         ->group_by('product_id');

我确信有更好的方法,但我还没有找到它。提前感谢任何见解。

1 个答案:

答案 0 :(得分:0)

你不能使用DISTINCT 1吗?此外,您应该从产品表中进行选择,并使用左连接选择相应的照片。