在我的路线中,我有:
Route::get('/about','PagesController@about');
在PagesController中:
public function about()
{
$people=['Taylor','Matt','Jeffrey'];
return view('pages.about',compact($people));
}
如果我使用
return view('pages.about',['people'=> $people]);
运行正常。
控制器没有传递数组来查看,为什么?
答案 0 :(得分:4)
使用
compact('people')
如果您是初学者,请查看laracasts视频系列,以便更好地了解Laravel框架。
答案 1 :(得分:2)
删除$
函数中的compact
符号,如compact('people')
。这将解决您的问题。
compact()不是Laravel函数。这是一个PHP函数。它创建一个包含变量及其值的数组。
例如,假设您有以下变量。
$name = 'Jon Snow';
$dad = 'Rhaegar Targaryen';
$mom = 'Lyanna Stark';
如果您按照以下方式将其放入compact()
,
$thePrinceThatWasPromised = compact(['name', 'dad', 'mom']);
您将获得以下分配给$thePrinceThatWasPromised
的数组。
[
'name' => 'Jon Snow',
'dad' => 'Rhaegar Targaryen',
'mom' => 'Lyanna Stark'
]
有关更多信息,请转到php manual