laravel5.3关系(集合)

时间:2016-12-27 16:29:07

标签: 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()
{
return $this->belongsTo('App\User');
}

public function transactions()
{
return $this->hasMany('App\Transaction');
}

交易模式:

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

现在我想要某个用户的所有交易的全部总和。 使用eloquent存档的最佳方法是什么?

  dd($forwarded_total->sum('addresses.transactions.amount'));

一直返回0。

1 个答案:

答案 0 :(得分:2)

您可以在<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="myApp" ng-controller="MyCtrl"> <select ng-model="currentcard.card_id"> <option ng-value="item.card_id" ng-repeat="item in current_job.cards" ng-selected="item.is_default">{{item.brand +' '+ item.last_digits}}</option> </select> </div>模型中创建hasManyThrough关系,以便将所有相关交易记录为:

User

然后您可以将其查询为:

public function transactions()
{
    return $this->hasManyThrough('App\Transaction', 'App\Address');
}