将数据传递到部分

时间:2014-04-21 21:58:00

标签: php laravel laravel-4

我想将数据数组传递给partial,然后从另一个视图调用此partial。

$posts = [
  "One",
  "Two",
  "Three"
]; 

return View::make('partials.post_template', $posts);

我正在进行的.blade.php文件内

{{$posts}}

这返回Undefined variable: posts错误有人能告诉我我做错了什么吗?感谢

3 个答案:

答案 0 :(得分:2)

  

有人能告诉我我做错了什么吗?

您正在使用的模板包含一个未定义的变量,此处名为 posts

定义要与视图一起使用的所有变量非常重要。

您以数组的形式传递此类变量,其中键是变量的名称,值是变量携带的数据:

View::make('template-with-posts-variable', array('posts' => $posts));

这是第二个参数。第一个参数是模板的名称。

答案 1 :(得分:1)

Laravel不会将您的变量发送为posts。如果你有一个数组:

$data = [
    'posts' => [
        'One' => '1',
        'Two' => '2',
        'Three' => '3',
    ],
];

然后,如果您在传递$posts时传递此数据,则可以在视图中访问posts变量。

请参阅docs

答案 2 :(得分:1)

你必须定义一个变量并像这样传递数据

return View::make('partials.post_template')
    ->with('posts', $posts);

// or
return View::make('partials.post_template'
    ->withPosts($posts); // with a magic method

有关详细信息,请参阅official docs