0

我有银行表和交易表。这种关系是一对多的,所以一家银行可能有很多交易。交易表有银行外键(bank_id)。每笔交易都有一个“类型”列,可以是贷方,也可以是借方。我想根据其交易显示每个银行余额。

以下是我的问题:

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

这是交易表: 在此处输入图像描述 提前致谢!

4

3 回答 3

1

您需要在模型中创建关系,例如在 Transactions 模型中:

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

这在银行模型中

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

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

$this->bank->transactions;

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

于 2021-04-06T07:04:45.627 回答
1

我不确定您要做什么。你会选择像这样的银行

$bank = Bank::find(2);

你可以做类似的事情

$bank->transactions->sum('amount');
于 2021-04-06T07:54:44.243 回答
0

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

<td>{{$bank->transactions->where('type', 'credit')->sum('amount') - $bank->transactions->where('type', 'debit')->sum('amount')}}</td>
于 2021-04-07T03:45:23.043 回答