Laravel Eloquent - Как запросить все модели автомобилей данного года, где указана марка? - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть эти таблицы: 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 Ответ

0 голосов
/ 14 сентября 2018

для этого есть простое решение.Вам просто нужно изменить функцию, как я дал ниже

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);
}

выше - это измененный код.Попробуйте и дайте мне знать, если это не работает для вас.

...