我有一段代码,我试图找出为什么一个变体有效而另一个无效。
return View::make('gameworlds.mygame', compact('fixtures'), compact('teams'))->with('selections', $selections);
这让我可以按预期生成赛程、球队和选择的数组 View 。
然而,
return View::make('gameworlds.mygame', compact('fixtures'), compact('teams'), compact('selections'));
不允许正确生成 View 。我仍然可以回显数组并获得预期的结果,但 View 在到达选择部分后不会呈现。
没关系,因为我让它使用 ->with()
语法,但只是一个奇怪的语法。
谢谢。 搜索引擎
最佳答案
View::make
函数接受 3 个参数,根据文档,这些参数是:
public View make(string $view, array $data = array(), array $mergeData = array())
在您的例子中,compact('selections')
是一个第 4 参数。它不会传递给 View 并且 laravel 抛出异常。
另一方面,您可以使用 with()
任意多次。因此,这将起作用:
return View::make('gameworlds.mygame')
->with(compact('fixtures'))
->with(compact('teams'))
->with(compact('selections'));
关于php - laravel compact() 和 ->with(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22412832/