在其他表格中搜索?

时间:2016-10-17 20:26:53

标签: php laravel laravel-5

我有一个maintenance表,其中包含以下字段:idcar_idtypename

如何从maintenance表中获取type = 'car wash'但只有model_id = 5的条目列表?

model_id字段位于car表中。包含以下字段的购物车表:idmodel_idengine_sizecolor

如何使用Maintenance::where获取model_id表中匹配car的条目列表? car_id表中有maintenancecar表链接。

我需要做这样的事吗:?

  return Maintenance::where('type', 'car_wash')->where(function($query) {
       // get a list a maintenance where model_id = 5 in a car table
  });

1 个答案:

答案 0 :(得分:1)

假设您已经在维护模型上定义了cars()关系,您可以尝试这样的事情:

$model_id = 5;
$type = 'car_wash';
return Maintenance::whereHas('cars',function($query) use($model_id,$type) {
  $query->where('model_id',$model_id)->where('type',$type);
  })->get();

更新进一步的问题(如果$ model_id = 0则跳过):

 return Maintenance::whereHas('cars',function($query) use($model_id,$type) {
      if($model_id!=0){
          $query->where('model_id',$model_id);
      }
      $query->where('type',$type);
      })->get();

我没有测试过,但应该可以使用,否则请告诉我