2014-10-12 31 views
1

我控制器Laravel foreach循环不是在视图中工作

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 

我想表现出我的数据数组值查看但不工作。显示错误

未定义的变量:数据(查看: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);