【问题标题】:Laravel Eloquent - How to query all car models of given year where make is given?Laravel Eloquent - 如何查询给定年份的所有汽车型号,其中给出了品牌?
【发布时间】:2018-09-14 07:22:51
【问题描述】:

我有这些表:ModelsYearModel_YearModel 表有一个 make_id 列引用 Make 表中的 id

在我的模型中,我定义了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 的模型?

【问题讨论】:

    标签: laravel eloquent-relationship


    【解决方案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);
    }
    

    以上是修改后的代码。如果这不适合你,请尝试告诉我。

    【讨论】:

    • @SamN 能否请您标记检查以验证此答案并支持我的答案。将不胜感激。
    猜你喜欢
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 2019-12-06
    • 2023-04-06
    • 2020-08-26
    • 2022-11-13
    相关资源
    最近更新 更多