如何通过 laravel 中的交易显示银行余额

How to show bank balance through transactions in laravel

我有银行 table 和交易 table。这种关系是一对多的,所以一家银行可能有很多笔交易。事务 table 具有银行外键 (bank_id)。每笔交易都有一列 'type' ,它要么是贷方,要么是借方。 我想根据交易显示每个银行的余额。

这是我的问题:

  1. 如何select特定银行?
  2. 如何计算银行的余额?
  3. 我应该在控制器、模型还是视图中计算它?哪一个最好?

这是交易 table: 提前致谢!

您需要在模型中创建关系,就像在交易模型中这样:

public function bank(){
 return $this->belongsTo(Bank::class);
}

这在银行模型中

public function transactions (){
 return $this->hasMany(Transactions::class);
}

然后您可以像这样访问它们:

$this->bank->transactions;

Laravel 有优秀的文档,你只需要阅读它们,例如Relationships

我不确定你想做什么。你会 select 像

这样的银行
$bank = Bank::find(2);

你可以做类似的事情

$bank->transactions->sum('amount');

我想显示我数据库中每家银行的余额。我必须对属于一家银行的所有贷方求和,然后对该银行的所有借方求和,然后找到余额,即贷方减去借方。所以使用你提到的关系。我写了这段代码。

<td>{{$bank->transactions->where('type', 'credit')->sum('amount') - $bank->transactions->where('type', 'debit')->sum('amount')}}</td>