我想将数据数组传递给partial,然后从另一个视图调用此partial。
$posts = [
"One",
"Two",
"Three"
];
return View::make('partials.post_template', $posts);
我正在进行的.blade.php
文件内
{{$posts}}
这返回Undefined variable: posts
错误有人能告诉我我做错了什么吗?感谢
答案 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