В вашей БД :: raw.
DB::raw('total_receivables' - $total_receivable)
по существу попытается вычесть значение $total_receivable
из строки total_receivables
.Тем не менее, я считаю, что вам нужно вычесть это из значения столбца total_receivable
.Затем вам нужно изменить его на:
DB::raw('total_receivables - ' . $total_receivable )
Пожалуйста, проверьте обновленный код:
<?php
public static function updateLessPaymentHead($receivable_payment_head_id, $total_receivable)
{
if(!is_numeric($receivable_payment_head_id) || !is_numeric($total_receivable)){
return [];
}
$payment_head = DB::table('receivables_payment_head')
->where('id', $receivable_payment_head_id)
->update(
[
'total_receivables' => DB::raw('total_receivables - ' . $total_receivable ),
'total_payment' => DB::raw('total_payment - ' . $total_receivable),
]);
return $payment_head;
}