Laravel:在Laravel中将多维数组从控制器传递到视图时出错

时间:2014-04-23 06:58:23

标签: laravel laravel-4

路线档案: -

Route::get('/',function()
{
 $menuitem = Menuitem::all(); 
 return VIEW::make('index',$menuitem); 
});

index.blade.php: -

@foreach($menuitem as $item)
 {{$item['item_link']}} 
@endforeach

我在Undefined variable $menuitem中收到错误index.blade.php

3 个答案:

答案 0 :(得分:1)

尝试

Route::get('/',function()
{
    $menuitem = Menuitem::all(); 
    return View::make('index')->with('menuItem', $menuItem); 
}

答案 1 :(得分:0)

View::make接受第二个参数的数组。

public View make(string $view, array $data = array(), array $mergeData = array())

所以它应该是:

Route::get('/',function()
{
  $menuitem = Menuitem::all();

  $data = array(
            'menuitemKey' => $menuitem
          );

  return View::make('index', $data); 
}

然后您可以像访问它一样访问它:

@foreach($menuitemKey as $item)
  {{$item['item_link']}} 
@endforeach

答案 2 :(得分:0)

这对我有用。

'Route('/',function(){
$myarray = Menuitem::all();
return View::make('myview')->with('data',$myarray);
})'

myview.blade.php

'@for($i=0;$i<sizeof($data),$i++)
 {{$data[$i]['item']}}
  @endfor'