Laravel foreach循环在视图中不起作用

时间:2014-10-12 06:38:21

标签: php 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

我正在尝试在视图中显示我的数据数组值但不工作。显示错误

未定义的变量:data(查看:C:\ Users \ shanto \ my-project \ app \ views \ hello.blade.php)

我是laravel的新人。我无法理解我的错误。

2 个答案:

答案 0 :(得分:1)

在您的控制器功能

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

由于您的控制器在数据数组中发送值,因此它们对于视图文件是可变的。您需要在数组中包含$data并发送到视图。

答案 1 :(得分: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);