【问题标题】:ActiveRecord Join that gets first associated product photoActiveRecord Join 获得第一张相关产品照片
【发布时间】:2012-06-16 20:28:11
【问题描述】:

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

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

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

我将其归结为选择 product_photo 并将产品加入其中(我最初尝试相反)但我总是以第一个 product_photo 用于第一个测试产品,第二个 product_photo 用于第二个测试产品。

为了进一步简化,我尝试仅选择 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');

我确信有更好的方法来解决这个问题,但我还没有找到。提前感谢您提供任何见解。

【问题讨论】:

    标签: codeigniter activerecord join


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-04-26
      • 2015-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-03
      • 1970-01-01
      • 1970-01-01
      • 2013-11-22
      相关资源
      最近更新 更多