2016-09-12 2 views
1

У меня есть две части стола и изображения. Каждая часть имеет несколько изображений. Я хотел бы отображать все части с их изображениями, но я хочу показывать только одно изображение. Поэтому, если в части есть несколько изображений, я хотел бы отобразить одно изображение. Вот мой запросLaravel получить одну запись от отношения для каждой части

return Part::with(['images'=> function($q) 
{ 
    $q->limit(1); 
}])->get(); 

В приведенном выше запросе отображается только одно изображение. Но я хотел бы отобразить одно изображение для каждой части.

Спасибо

+0

Я надеваю «Не понимаю вашу проблему, вы извлекаете одно изображение, но хотите получить изображение по частям?». –

+1

Shoudln't ваша модель будет 'Part' вместо' Parts'? –

+0

Да, моя модель - часть. была опечатка. – rafiaTech

ответ

1

Его не возможна с «с», как его деяния, как показано ниже:

select * from parts 

select * from images where id in (1, 2, 3, 4, 5, ...) limit 1 

Вместо этого, вы можете сделать это в цикле, как показано ниже:

foreach (Parts::get() as $Part) { 
    $FirstImageOfPart = $Part->images()->first(); 
    // ... 
} 
+0

Кто-то правильно, если я ошибаюсь – MoeinPorkamel

+0

Спасибо Moein Porkamel. Это сработало! Я надеялся, что в Ларавеле будет более чистое решение. – rafiaTech

Смежные вопросы