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


Laravel foreach loop is not working in a view

我的控制器

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)

我是个新手。我不明白我做错了什么。

在控制器功能中

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

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

更改

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);