Php 如何计算模型laravel的belongsTo和
我需要得到laravel上的Php 如何计算模型laravel的belongsTo和,php,laravel,Php,Laravel,我需要得到laravel上的型号的金额总和 这是我的密码 控制器: $users = AffiliationUser::whereAffiliationId(Auth::user()->id) ->with(['user' => function ($q){ $q->withCount(['billings'])->with(['affiliation_transactions']); }]) ->paginate(3)
型号的金额总和
这是我的密码
控制器:
$users = AffiliationUser::whereAffiliationId(Auth::user()->id)
->with(['user' => function ($q){
$q->withCount(['billings'])->with(['affiliation_transactions']);
}])
->paginate(3);
//dd($users);
return view('affiliation.users', [
'users' => $users,
'current_balance' => 0,
]);
用户模型:
public function user() {
return $this->belongsTo('App\Models\Users');
}
public function billings() {
return $this->hasMany('App\Models\UserBillingSchedules', 'user_id');
}
public function affiliation_transactions() {
return $this->hasMany('App\Models\AffiliationTransaction', 'user_id');
}
用户模型:
public function user() {
return $this->belongsTo('App\Models\Users');
}
public function billings() {
return $this->hasMany('App\Models\UserBillingSchedules', 'user_id');
}
public function affiliation_transactions() {
return $this->hasMany('App\Models\AffiliationTransaction', 'user_id');
}
视图:
我还可以使用哪一种解决方案?您可以使用withCount()计算总和。
:
Laravel允许您轻松创建自定义属性(在模型中使用get[attributename]Attribute
方法,该方法可用于减少需要编写的代码量。在这种情况下,您可以执行以下操作:
用户模型:
public function getTransactionCountAttribute() {
return $this->affiliation_transactions->sum('amount');
}
现在,可以在您的代码中使用以下方法来访问:
$user->user->transaction_count
此外,这里还有一点关于的信息,这些都是命名的。希望它们对您有用:)在用户模型中创建一个类似以下的方法:
public function sum_amount() {
return this.affiliation_transactions->sum('amount');
}
那么在你看来
{{ $user->user->sum_amount }}
也这样做了,工作良好,但问题是,如果记录不存在,我得到的是null而不是一些默认结果,是的,不想使用“$user->user->amount或0”,因为我对laravel是新手,所以想找到最好的解决方案
{{ $user->user->sum_amount }}