Php laravel-将多个列表传递给视图
我有一个联赛的名单,我正在传递给这样一个观点Php laravel-将多个列表传递给视图,php,laravel,laravel-4,blade,Php,Laravel,Laravel 4,Blade,我有一个联赛的名单,我正在传递给这样一个观点 $leagues = League::lists('name', 'id'); return View::make('gameworlds.create')->with('leagues', $leagues); 我想做的是通过另一个列表,例如,国家,但我不确定我将如何去做 e、 g 我怎样才能附加$countries? 我看到过将$data创建为数组,但同样,我也不完全确定如何设置它 有人能给我建议吗 DS非常简单,只需添加多个元素: $l
$leagues = League::lists('name', 'id');
return View::make('gameworlds.create')->with('leagues', $leagues);
我想做的是通过另一个列表,例如,国家,但我不确定我将如何去做
e、 g
我怎样才能附加$countries?
我看到过将$data创建为数组,但同样,我也不完全确定如何设置它
有人能给我建议吗
DS非常简单,只需添加多个元素:
$leagues = League::lists('name', 'id');
$countries = Country::lists('name', 'id');
return View::make('gameworlds.create')->with('leagues', $leagues)->with('countries', $countries);
你可以这样做
$leagues = League::lists('name', 'id');
$countries = Country::lists('name', 'id');
$data['leagues'] = $leagues;
$data['countries'] = $countries;
return View::make('gameworlds.create')->with($data);
与trizz所说的相反,您可以从数组索引的名称访问视图中的变量。
意味着您可以通过$leagues/$国家/地区访问它们,如使用多个with statements所有这些答案都是正确的,但没有人给您提供最好、最简单、最可读的版本:
return View::make('gameworlds.create')->with(array('leagues'=>$leagues,'countries'=> $countries));
// get data
$leagues = League::lists('name', 'id');
$countries = Country::lists('name', 'id');
// render view and pass data in
return View::make('gameworlds.create', compact('leagues', 'countries'));
需要考虑的事项:
PHP的函数非常有用
我更喜欢将数据作为view::make的第二个参数传递给我的视图,但您仍然可以使用->withcompact。。。
你可以试试这个
return View::make('gameworlds.create')
->with('leagues', $leagues)
->with('countries', $countries); // more withs could be added
还是这个
$array = array('leagues' => $leagues, 'countries' => $countries);
return View::make('gameworlds.create', $array);
或者使用快捷数组语法
或使用
我的错。我改变了我的答案:我本想对你的答案发表评论,而不是做出类似的回应,但评论需要50%的声誉。我将此标记为答案,因为它对我来说是最直观的答案。。。。只需为您想要添加的每件事情添加一个,多亏了大家,我将全面调查其他答案,以了解我的选择。非常感谢大家。我将更深入地研究这个紧凑的函数-我没有将它标记为答案,因为这次我使用了不同的解决方案。还是谢谢你的帮助
$array = array('leagues' => $leagues, 'countries' => $countries);
return View::make('gameworlds.create', $array);
return View::make('gameworlds.create', ['leagues' => $leagues, 'countries' => $countries]);
$leagues = League::lists('name', 'id');
$countries = Country::lists('name', 'id');
return View::make('gameworlds.create', compact('leagues', 'countries'));