Foreach为我提供了第一个循环的数据,并且此后一直为空

时间:2018-09-11 23:20:04

标签: laravel foreach

我的控制器中有一个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'),我将获得第二个集合,而不是第一个集合。

我在做什么错?我对此很陌生,我相信解决这个问题的方法很简单。但是我真的不知道出什么问题。

0 个答案:

没有答案