问题描述
我有银行表和交易表。这种关系是一对多的,所以一个银行可能有很多交易。交易表有银行外键(bank_id)。并且每笔交易都有一个“类型”列,它是贷方或借方。 我想根据交易显示每个银行的余额。
这是我的问题:
- 如何选择特定银行?
- 如何计算银行的余额?
- 我应该在控制器、模型还是视图中计算它?哪个最好?
解决方法
您需要在模型中创建关系,就像在事务模型中一样:
public function bank(){
return $this->belongsTo(Bank::class);
}
这在银行模型中
public function transactions (){
return $this->hasMany(Transactions::class);
}
然后你可以像这样访问它们:
$this->bank->transactions;
Laravel 有很棒的文档,你只需要阅读它们,例如Relationships
,我不确定您要做什么。你会选择像这样的银行
Enable Modules (C and Objective-C)
你可以做类似的事情
$bank = Bank::find(2);
,
我想在我的数据库中显示每家银行的余额。我必须对属于一家银行的所有贷项求和,然后对该银行的所有借项求和,然后找到余额,即贷项减去借项。所以使用你提到的关系。我写了这段代码。
<td>{{$bank->transactions->where('type','credit')->sum('amount') - $bank->transactions->where('type','debit')->sum('amount')}}</td>