Laravel Eloquent-如何查询给定品牌的给定年份的所有汽车型号?

时间:2018-09-14 07:22:51

标签: laravel eloquent--relationship

我有以下表格:ModelsYearModel_YearModel表中有一个make_id列,引用了id表中的Make

在我的模型中,我定义了ModelYear之间的 belongsToMany 关系。

到目前为止,这是控制器中正在做的事情:

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 :(得分:2)

有一个简单的解决方案。您只需要按照我在下面给出的功能更改

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

上面是更改的代码。尝试让我知道那是否不适合您。