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