如何从 Laravel SQL 查询中删除引号?

OPV*_*OPV 2 laravel laravel-5.3 laravel-5.4

我有以下查询:

$this->data = \DB::table('months')->select(DB::raw("months.id, COUNT(transactions.id) as total"))
            ->leftJoin('transactions', function($join)
            {
                $join->on('months.id', '=', DB::raw('MONTH(created_at)'))
                    ->on('transactions.doctor_id', '=', $this->user_id);
            })
            ->groupBy('months.id')
            ->get();
Run Code Online (Sandbox Code Playgroud)

它涉及在线错误->on('transactions.doctor_id', '=', $this->user_id);。它为变量添加了单引号$this->user_id

如何避免这种错误:

    SQLSTATE[42S22]: Column not found: 1054 Unknown column '2' in 
'on clause' (SQL: select months.id, COUNT(clients.id) as total
 from `months` left join `clients` on `months`.`id` = MONTH(created_at) 
and `clients`.`doctor_id` = `2` group by `months`.`id`)
Run Code Online (Sandbox Code Playgroud)

Ale*_*kov 5

DB:raw您可以尝试这样使用:

->on('transactions.doctor_id', '=', DB::raw($this->user_id));
Run Code Online (Sandbox Code Playgroud)