Laravel Eloquent - Как запросить все модели автомобилей данного года, где указана марка?
У меня есть эти таблицы: Models
, Year
а также Model_Year
, Model
стол имеет make_id
столбец, ссылающийся на id
в Make
Таблица.
В моей модели я определил отношение ownToMany между Model
а также Year
,
Это то, что я делаю до сих пор в контроллере:
public function getModels() {
$year = Year::findOrFail(1);
$make = Vmake::findOrFail(1);
$models = $year->model->pluck('name','id');
return response()->json($models);
}
Это возвращает все модели года с id
1.
Как добавить запрос, чтобы получить только модели, где make_id
= 1?
1 ответ
Решение
Для этого есть простое решение. Вам просто нужно изменить функцию, как я дал ниже
public function getModels() {
$year = Year::findOrFail(1);
$make = Vmake::findOrFail(1);
$models = $year->model()
->where('make_id', 1)
->pluck('name','id');
return response()->json($models);
}
выше измененный код. Попробуйте и дайте мне знать, если это не работает для вас.