如何在 Laravel 查询中使用自定义 groupBy 和 LeftJoin?

How to use custom groupBy and LeftJoin in Laravel query?

我试过这个查询:

 $this->data = \DB::table('months')->select(DB::raw("months.id, COUNT(clients.id) as total"))
            ->leftJoin('clients','months.id','=','MONTH(created_at)')
            ->groupBy('months.id')
            ->first();

它 returns 我出错了:

Column not found: 1054 Unknown column 'MONTH(created_at)' in 'on clause' 

如何解决?

尝试指定 created_at 列的 table。

$this->data = \DB::table('months')->select(DB::raw("months.id, COUNT(clients.id) as total"))
            ->leftJoin('clients','months.id','=','MONTH(clients.created_at)')
            ->groupBy('months.id')
            ->first();