У меня есть этот запрос:Удаление дубликатов из набора результатов ActiveRecord
res = Model1.joins(:items).where(items: {id: [1, 2, 3]})
Она возвращает данные с дубликатами, хотя ничем не дубликатов в базе данных. Как удалить дубликаты с res
?
У меня есть этот запрос:Удаление дубликатов из набора результатов ActiveRecord
res = Model1.joins(:items).where(items: {id: [1, 2, 3]})
Она возвращает данные с дубликатами, хотя ничем не дубликатов в базе данных. Как удалить дубликаты с res
?
SQL-Join (с использованием joins
) дает произведение двух таблиц. Если вы пытаетесь получить Model1
записи, которые связаны с конкретными Item
записей, а затем использовать
Model1.where(item_id: [1, 2, 3])
Для рельсов 5, отчетливый, как уник является устаревшим. –
@PauloAbreu Спасибо, что указали это. Будет обновлен ответ. –