如何使用 Laravel 雄辩在 WHERE 条件下减去 2 列


How to subtract 2 columns in WHERE condition with Laravel Eloquent

Trjual_h::where('Kd_Pelanggan', '=', $get)
        ->where('Nilai_Faktur', '-', 'Nilai_Bayar', '>=', '0')
        ->select('Nilai_Faktur', 'Tgl_Faktur', 'Lama_Piutang', 'No_Faktur', 'Nilai_Bayar')
        ->get();

我需要类似的东西

Select Nilai_Faktur, Tgl_Faktur, Lama_Piutang, No_Faktur, Nilai_Bayar 
where (Kd_Pelanggan = XXX11) AND (Nilai_Faktur - Nilai_Bayar > 0)

但是当我运行查询时,它一直忽略这两个条件,并在表中显示所有可用数据。已经尝试使用DB::raw()但它一直给我一个错误。

Trjual_h::where('Kd_Pelanggan', $get)
        ->whereRaw('Nilai_Faktur-Nilai_Bayar > 0')
        ->select('Nilai_Faktur','Tgl_Faktur','Lama_Piutang','No_Faktur','Nilai_Bayar')
        ->get();

请注意,我从where('Kd_Pelanggan', $get)中删除了'=',因为它在执行等于时不是必需的参数,所以我总是删除它。不过,这是双向的。

简单地说,您可以使用查询生成器

$clients_due_amount = Client::select(DB::raw('SUM(amount - paid) as due_amount'))->first();