现在,我要选择在过去30天内未进行任何交易的借款人
我在Laravel项目中有三个数据库表(借款人,储蓄,Savings_Transaction]。我的目的是显示过去30天内没有任何储蓄交易的休眠帐户。
在借款人的表中,我有类似的列
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9ubjZBNy5wbmcifQ==” alt =“借款人表”>“>
在我的储蓄表中,我有
“>
在我的Savings_transaction表中,我有
每个借款人都有一个储蓄帐户,该帐户记录在储蓄表中。每当他们进行交易时,它都会记录在SavingsTransaction表中。
在每笔交易中,都记录了owner_id,Savings_id和created_at。
现在,我要选择在过去30天内未使用此代码进行过任何交易的借款人(休眠帐户/会员)
public function dormant() { $dormant = SavingTransaction::where('reversed', 0)->where('branch_id', session('branch_id'))->whereDate('created_at','<=', Carbon::now()->subDays(30))->groupBy('savings_id','created_at')->orderBy('created_at', 'asc')->get(); return view('saving.dormant', compact('dormant')); }
但是它将把所有交易日期少于30天且超过30天的账户都带到这里>
如何删除最近交易的帐户?
我的Laravel项目中有三个数据库表(借款人,储蓄,Savings_Transaction)。我的目的是显示过去30天内未进行任何储蓄交易的休眠帐户。在我的...
现在,我要选择在过去30天内未进行任何交易的借款人
您必须选择借款人而不是SavingTransaction
// suppose "savingTransactions" is hasMany relation defined in Borrowers model $result = Borrowers::whereDoesntHave('savingTransactions', function($queryBuilder){ $queryBuilder->whereDate('created_at','<=', Carbon::now()->subDays(30)); })->get();
如果没有关系,也可以使用
->whereNotExists(...)
现在,我要选择在过去30天内未进行任何交易的借款人