2014-10-12 2 views
1

Мой контроллерLaravel цикл Еогеасп не работает в представлении

public function showWelcome() 
{ 
     $data = Category::select(); 
     return View::make('hello',$data); 

} 

результат контроллер массива

array(3) { 
    [0]=> 
    object(stdClass)#137 (4) { 
    ["id"]=> 
    int(1) 
    ["category_name"]=> 
    string(8) "everyone" 
    ["category_image"]=> 
    string(36) "7e14fecb5b45941dd9bcff3497c57d1a.png" 
    ["start_date"]=> 
    string(10) "2014-09-10" 
    } 
    [1]=> 
    object(stdClass)#138 (4) { 
    ["id"]=> 
    int(2) 
    ["category_name"]=> 
    string(12) "motivational" 
    ["category_image"]=> 
    string(36) "99b8dfff667da7a7e9e39e514e3342bd.png" 
    ["start_date"]=> 
    string(10) "2014-09-09" 
    } 
    [2]=> 
    object(stdClass)#139 (4) { 
    ["id"]=> 
    int(3) 
    ["category_name"]=> 
    string(4) "racy" 
    ["category_image"]=> 
    string(36) "3a213b108c30184a3f416239473a3880.png" 
    ["start_date"]=> 
    string(10) "2014-09-10" 
    } 
} 

мой взгляд

@foreach($data as $fetch) 
    {{ $fetch->id }} 
@endforeach 

Я пытаюсь показать свою ценность массива данных в просмотр, но не work.show a error

Неопределенная переменная: данные (Вид: C: \ Users \ shanto \ my-project \ app \ views \ hello.blade.php)

Я новичок в laravel. Я не могу понять, что я не так.

ответ

1

в функции контроллера

return View::make('hello')->with(array('data'=>$data)); 

Поскольку контроллер посылает значения внутри массива данных делает их переменными для просмотра файла. вам нужно включить $data внутри массива и отправить его на просмотр.

0

Изменить

public function showWelcome() 
{ 
     $data = Category::select(); 
     return View::make('hello',$data); 
} 

в

public function showWelcome() 
{ 
     $data = Category::select(); 
     return View::make('hello')->with('data', $data); 
} 

или вы можете сделать

return View::make('hello')->withData($data); 
Смежные вопросы