Мой оригинальный запрос искал материнские платы, а затем нашел изображения для материнских плат. Но теперь некоторые материнские платы не имеют никакого изображения, поэтому я хочу запустить один запрос, который может найти 20 уникальных материнских плат с изображениями.
Код пока:
$newMotherboards = Motherboards::join('images', 'motherboards.motherboard_id', '=', 'images.item_id')->where('images.item_type', '=', 'motherboard')->orderBy('motherboards.date_added', 'desc')->take(20)->get();
Я даже попытался выбрать конкретные результаты:
$newMotherboards = Motherboards::join('images', 'motherboards.motherboard_id', '=', 'images.item_id')->select('motherboards.motherboard_id', 'motherboards.name')->where('images.item_type', '=', 'motherboard')->orderBy('motherboards.date_added', 'desc')->take(20)->get();
Проблема с вышеприведенным кодом заключается в том, что, когда я прокручиваю каждую $ newMotherboards, у нее есть дубликаты для каждого изображения, которое существует с его идентификатором. Я только хочу получить 20 уникальных материнских плат, где они были добавлены совсем недавно, но имеют изображения.
Если элемент имеет 5 изображений и один из последних 20 добавлен, то он появится пять раз из моего 20 лимита.