在 rails 上使用 ruby 中的联接获取列表的唯一项

get items unique for a list using joins in ruby on rails

这是我的查询

SELECT lists.id, items.id FROM `lists` LEFT JOIN items ON lists.id = items.list_id

我有三个列表,列表 1 有三个项目 然后在 rails 它给了我三个表格

**list1  list1  list1**         
item1  item1  item1
item2  item2  item2
item3  item3  item3

也就是说是按照item的个数循环 在 rails 中有什么方法可以让我在 erb 文件本身中创建一个数组并可以检查记录是否已经存在?

这是 sql 连接的正常行为 - 返回满足条件的所有行。如果列表有 5 个项目 - 您将有 5 个结果,其中 lists.id = items.list_id.

也许您正在寻找 GROUP BY?

lists = List.joins("LEFT JOIN items on lists.id = items.list_id").group("lists.id")