у меня есть:Laravel получить модель с первым элементом из соотношения
public function getThumbnail($id) {
$thumbnail = Product::find($id);
if($thumbnail) {
return $thumbnail->with('images')->get();
} else {
return response()->json('That cake does not exist.');
}
}
Который возвращает продукт с любыми изображениями придают ей.
Однако, я бы хотел, чтобы он возвращал только изображения с надписью «primary». Что-то вроде этого (pseudo):
return $thumbnail->with('images->isPrimary')->get();
Как я могу это достичь?
насчет:
return $thumbnail->with(['images' => function ($query) {
$query->where('is_primary', 1);
}])->get();
Имейте в виду, что если в «Продукте» нет прикрепленных миниатюр, которые являются первичными, это решение не будет включать этот «Продукт» в результаты. – user3158900
@JoaquinLRobles В чем разница между вашим решением и моим редактированием? – imperium2335
Btw это возвращает каждый продукт с изображением, моя функция принимает $ id, поэтому мне нужна find(). – imperium2335