2015-06-18 153 views
2

我剛從Symfony轉移到Laravel 5,我想知道如何將多個陣列從我的控制器傳遞到我的視圖。Laravel 5:從控制器傳遞多個陣列到視圖

我想使用PHP的compact()函數,但我無法正確地在視圖中獲取它們。

$users = Users::all(); 
$projects = Projects::all(); 
$foods = Foods::all(); 

return ('controller.view', compact('users','projects','foods')); 

什麼是最好的能夠將所有這些對象數組轉移到我的視圖。

任何幫助將不勝感激。

謝謝!

回答

7

你錯過調用視圖的方法在你的榜樣

return view('controller.view', compact('users','projects','foods')); 

也就是說,語法的其餘部分是正確的。

在您的視圖中,您可以像往常一樣訪問這些變量。例如,如果您使用刀片服務器。

resources/views/controller/view.blade.php

@foreach ($users as $user) 
    {{$user->property}} 
@endforeach 

如果你不使用刀片。

resources/views/controller/view.php

<?php 
foreach ($users as $user) { 
    echo $user->property; 
} 
?> 
+0

對不起,我在製作原文時有一個錯字。我的代碼已經返回view(),但由於某種原因,compact失敗了。 – user3880082

3

我找到了答案,我的問題。

return view('controller.view', array('users' => $users, 
       'projects' => $projects ,'foods' => $foods) 

而在刀片中,我通常只是通過foreach迭代訪問它們。

+0

這正是緊湊的http://php.net/compact –

+0

嗨本感謝非常快速和有見地的答覆。不幸的是,出於某種原因,compact()函數在視圖上失敗。我也確定它應該能夠處理它。通過數組傳遞變量爲我工作。 – user3880082

相關問題