I have a controller function where I would like to compare a field in a model to an attribute of that model and use it in a where
like so below, is it possible?
$ticketsOpen = Ticket::where([
['balance','>','paidBalance'],
['bill_to', $customer->id]
])
->whereNotIn('shipment_billing_status', [2,3])
->orderBy('created_at','desc')->get();
In this case, the 'paidBalance' up above refers to this in the model:
public function getPaidBalanceAttribute(){
$paid = $this->paymentDistributions->pluck('amount');
$paidBalance = $paid->sum();
return $paidBalance;
}
And the paymentDistributions
refers above that to this:
public function paymentDistributions(){
return $this->hasMany('App\Payments_Distribution', 'ticket_id','id');
}
Or is there a better way of going around this? I'm just trying to filter down the tickets that have a balance greater than what's been paid or have no payments toward the ticket at all.
Thanks!
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire