Collections laravel5.3关系(集合)

Collections laravel5.3关系(集合),collections,orm,eloquent,laravel-5.3,Collections,Orm,Eloquent,Laravel 5.3,我有三张桌子: users -id -name -... addresses -id -user_id -... transactions -id -address_id -amount 我的模型是这样的: 用户模型: public function addresses() { return $this->hasMany('App\Address'); } 地址模型: public function user(

我有三张桌子:

users
    -id
    -name
    -...

addresses
    -id
    -user_id
    -...

transactions
    -id
    -address_id
    -amount
我的模型是这样的:

用户模型:

public function addresses()
{
return $this->hasMany('App\Address');
}
地址模型:

public function user()
{
return $this->belongsTo('App\User');
}

public function transactions()
{
return $this->hasMany('App\Transaction');
}
交易模型:

public function address()
{
return $this->belongsTo('App\Address');
}
现在我想要某个用户所有事务的总和。 使用雄辩的方式归档此文档的最佳方式是什么

  dd($forwarded_total->sum('addresses.transactions.amount'));
始终返回0。

您可以在
用户
模型中创建一个关系,以获取所有相关交易,如下所示:

public function transactions()
{
    return $this->hasManyThrough('App\Transaction', 'App\Address');
}
然后您可以通过以下方式查询:

$total_sum = User::find(1)->transactions->sum('amount');
您可以在
User
模型中创建一个关系,以获取所有相关交易,如下所示:

public function transactions()
{
    return $this->hasManyThrough('App\Transaction', 'App\Address');
}
然后您可以通过以下方式查询:

$total_sum = User::find(1)->transactions->sum('amount');