如何在 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();
我试过这个查询:
$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();