Laravel Eloquent集团的关系

时间:2017-04-20 19:02:31

标签: php laravel eloquent query-builder

我很难理解如何在关系中使用Eloquent / Query Builder。

我有以下内容:

$plantLots = PlantLot::with('controlNumber')
   ->whereHas('controlNumber', function ($q) use ($fromDate, $toDate) {
        $q->where('created_at', '>=', $fromDate);
        if($toDate != '') {
           $q->where('created_at', '=<', $toDate);
        }
        $q->groupBy('creator_id');
   })->get();

我希望按creator_id进行分组,但我仍然只获得一个数据集。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

将其更改为

$plantLots = PlantLot::with(['controlNumber' => function($q){
       $q->groupBy('creator_id');
   }])
   ->whereHas('controlNumber', function ($q) use ($fromDate, $toDate) {
     $q->where('created_at', '>=', $fromDate)
       ->when($toDate != '',function($q){
         $q->where('created_at', '=<', $toDate);
      });
  })->get();

希望它有所帮助。