我正在Laravel 5中使用刀片作爲模板的電機。我傳遞一個數組從控制器到視圖,我注意到,當我上循環使用的foreach clausule和數組是空的提示錯誤,正是這一點:與空陣列foreach的錯誤
Invalid argument supplied for foreach()
我有在同樣的錯誤控制器和I修復temporaly製作:
if(count($student)!=0)
我說temporaly,因爲我不認爲這是做到這一點的最好辦法。 控制器中的代碼是:
foreach($students as $student){
if(count($student->contracts)!=0)
foreach($student->contracts as $contract){
//something
}//end foreach
}//end foreach
我陣列上取得了一些操作,然後我將它們發送到視圖:
return view('myview')->with(['students'=>$students]);
陣列被傳遞到視圖中正確。我說的是foreach,因爲之前我的數據庫中有很多寄存器,它運行良好,但是現在我有一些沒有合同的學生,然後我得到了這個錯誤。但是,在我看來,我有同樣的錯誤。所以,這是正常的?我怎樣才能以更好的方式修復它?爲什麼當數組是空的時候foreach clausule給出了這個錯誤?
什麼是'$ student'的價值? – BenM
是'模型'用戶的一個對象,我檢查了它,並確切地說是2名學生,當我把沒有錯誤的if語句。事情是$學生是一個數組,並且在他的內部,我有另一個$合同數組 –
它不能同時是'User'對象和數組。它是一個包含兩個'User'對象的數組,還是其他的? – BenM