我的控制器中有一个foreach传递给视图:
public function index()
{
$budgets=\App\Budget::all();
$transactions=\App\Transaction::select('transaction_ammount');
foreach($budgets as $budget){
$budgetThisCategory[$budget->id]=$transactions->whereMonth('transaction_date',Carbon::today()->format('m'))->where('category_id',$budget->category_id)->get();
}
return view('budgets.index',compact('budgets','id','transactions','budgetThisCategory'));
}
当我发表看法时,我得到以下信息:
array:2 [▼
1 => Collection {#832 ▼
#items: array:6 [▼
0 => Transaction {#825 ▶}
1 => Transaction {#826 ▶}
2 => Transaction {#827 ▶}
3 => Transaction {#828 ▶}
4 => Transaction {#829 ▶}
5 => Transaction {#830 ▶}
]
}
2 => Collection {#868 ▼
#items: []
}
]
因此,我只有第一个foreach集合,而没有第二个。第二个中有数据。确实,如果我更改控制器并添加orderbydesc('$ budget_id'),我将获得第二个集合,而不是第一个集合。
我在做什么错?我对此很陌生,我相信解决这个问题的方法很简单。但是我真的不知道出什么问题。