2016-05-23 3 views
2

Привет, я немного путаюсь, как передать контроллер массива, чтобы просмотреть это мой код.when передать массив для просмотра и в представлении print {{$ menus} } i сталкивается с undefind varible в sidemenu.blade.php.Как передать контроллер массива в view.blade.php в laravel 5

HomeController

<?php 

namespace App\Http\Controllers; 

use App\Http\Requests; 
use Illuminate\Http\Request; 
use App\Menu; 
use DB; 
/** 
* Class HomeController 
* @package App\Http\Controllers 
*/ 
class HomeController extends Controller 
{ 

    public function __construct() 
    { 
     $this->middleware('auth'); 
    } 

    public function index() 
    {   
     return view('home'); 
    } 

    public function side_menu() 
    { 
     $menus = DB::collection('menus')->get(); 
     return view('partials.sidebar', compact('menus')); 
    } 
} 

мой взгляд

<ul class="sidebar-menu"> 
     <li class="header">HEADER</li> 
     <!-- Optionally, you can add icons to the links --> 
     @if(count($menus)>0) 
      @foreach ($menus as $post)      
       <li class="active"><a href="{{ url('home') }}"><i class='fa fa-link'></i> <span>{{ $post->menu_name }}</span></a></li> 
      @endforeach 
     @endif 

    </ul> 
+0

эй я получил решение .. спасибо –

+1

Можете ли вы опубликовать ответ? Поэтому любой другой пользователь может получить от него помощь. – AShly

ответ

0

Ты метод контроллера должен выглядеть так:

public function side_menu() 
{ 
    $menus = DB::table('menus')->get(); 
    return view('partials.sidebar', compact('menus')); 
} 

Вы должны изменить представление, как это:

<ul class="sidebar-menu"> 
    <li class="header">HEADER</li> 
    <!-- Optionally, you can add icons to the links --> 
    @if($menus->count()>0) 
     @foreach ($menus as $post)      
      <li class="active"><a href="{{ url('home') }}"><i class='fa fa-link'></i> <span>{{ $post->menu_name }}</span></a></li> 
     @endforeach 
    @endif 
</ul> 

Используйте $menus->count(), а затем: count($menus).

+0

Спасибо @Filip отлично работает ... :) –

0
$menus = DB::collection('menus')->get(); 
return view('partials.sidebar', array('menus'=>$menus,'title'=>'Test')); 

По вашему мнению вы можете использовать $ меню и $ титульные переменные

Смежные вопросы