laravel compact()和-> with() [英] laravel compact() and ->with()

查看:99
本文介绍了laravel compact()和-> with()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一段代码,我试图找出为什么一个变体有效而另一个变体无效的原因.

I have a piece of code and I'm trying to find out why one variation works and the other doesn't.

return View::make('gameworlds.mygame', compact('fixtures'), compact('teams'))->with('selections', $selections);

这使我能够按预期生成灯具,团队和选区的阵列视图.

This allows me to generate a view of arrays for fixtures, teams and selections as expected.

但是,

return View::make('gameworlds.mygame', compact('fixtures'), compact('teams'), compact('selections'));

不允许允许正确生成视图.我仍然可以回显数组,并且可以得到预期的结果,但是一旦到达选择区,视图就不会呈现.

does not allow the view to be generated properly. I can still echo out the arrays and I get the expected results but the view does not render once it arrives at the selections section.

没关系,因为我可以使用->with()语法,但只是一个奇怪的语法.

It's oké, because I have it working with the ->with() syntax but just an odd one.

谢谢. DS

推荐答案

View::make函数采用 3 自变量,根据文档,它们是:

The View::make function takes 3 arguments which according to the documentation are:

public View make(string $view, array $data = array(), array $mergeData = array())

在您的情况下,compact('selections')是一个 4th 参数.它不会传递给视图,并且laravel会引发异常.

In your case, the compact('selections') is a 4th argument. It doesn't pass to the view and laravel throws an exception.

另一方面,您可以根据需要多次使用with() .因此,这将起作用:

On the other hand, you can use with() as many time as you like. Thus, this will work:

return View::make('gameworlds.mygame')

->with(compact('fixtures'))

->with(compact('teams'))

->with(compact('selections'));

这篇关于laravel compact()和-> with()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆