View :: make不会将数据从控制器返回到视图

时间:2013-10-16 15:51:02

标签: laravel laravel-4

public function getList()
{
    $posts=\Posts::allPosts();
    $this->layout->content=\View::make('admin.posts.list', $posts);
}

所以我将$posts数组发送到我的视图,但是当我尝试var_dump(...)它不存在时,我收到错误。

3 个答案:

答案 0 :(得分:1)

您应该将变量名称告知Blade:

public function getList()
{
    $posts=\Posts::allPosts();
    $this->layout->content=\View::make('admin.posts.list', array('posts' => $posts));
}

答案 1 :(得分:1)

使用$ data数组的常用习惯用法。

public function getList()
{
    $data = array(
        'posts' => Posts::allPosts(),
        'morestuff' => $variable,
    );

    $this->layout->content=\View::make('admin.posts.list')->with($data);
}

答案 2 :(得分:0)

这里最简单的方法是使用compact()

public function getList()
{
    $posts = \Posts::allPosts();

    $this->layout->content = \View::make('admin.posts.list', compact('posts'));
}

它与array('posts' => $posts)

基本相同