первую,
$products = Product::visible()
->with('images')
->withCount(['views', 'reviews'])
->offset($request->offset)
->limit($request->limit)
->orderBy($request->sort, 'ASC')
->get()
->toArray();
Этот кусок кода возвращает все связанные изображения. Чем его дополнить, что бы получать одно? Не могу нагуглить, может ищу не правильно.
вместо get() поставь first()
хм, а если в with что то вроде with(['images'=>function($q){return $q->limit(1);}]) ?
Запили акссесор который вернет first
можно отношение добавить public function firstImage() { return $this->images()->limit(1); } Product::with(‘firstImage’)
на продукт нужно добавить отношение firstImage(){ return $this->hasOne(Images::class)->oldest(); } Всё что остается - обратится к нему Product::visible() ->with('firstImage')
Обсуждают сегодня