I have a laravel application which has a model Client.
A client has many addresses, many jobs and many transactions.
I've the following relations on my client model:
public function jobs()
{
return $this->hasMany('App\Job','client_id');
}
public function addresses()
{
return $this->hasMany('App\Address','client_id');
}
public function Fees()
{
return $this->hasMany('App\Transaction','client_id');
}
I then have another function on that model which calculates the value
public function balance()
{
return $this->Fees()->where('status',2)->sum('gross');
}
I'm trying to return a list of all clients along with their addresses, jobs and the balance of each client.
I've tried the following:
$customers = $user->clients()->with('balance')->with('jobs')->with('addresses')->get();
I get the following error
Call to a member function addEagerConstraints() on string
This will no doubt be the eagerloading and the fact the balance() isn't a collection but I'm wondering how I would achieve the same result without having to loop through to build an array.
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire