我想将多个变量返回到我的视图中。
$currentUser = Auth::user();
$needToBePassed = "Lorem Ipsum"
View::share ( 'currentUser', $currentUser);
此代码工作正常,但如果我也想分享$needToBePassed
怎么办,我该怎么办?
重写是一种好习惯吗?
View::share ( 'currentUser', $currentUser);
View::share ( 'needToBePassed', $needToBePassed);
答案 0 :(得分:10)
您可以传递数据数组
$data = array(
'currentUser' => $currentUser,
'needToBePassed' => $needToBePassed,
);
View::share('data', $data);
答案 1 :(得分:3)
我知道问题已经回答,但是也许我可以通过添加此解决方案来帮助一些人。这样,您不必更改所有视图。
我一直在寻找一种无需改变所有观点即可解决此问题的方法。
$currentUser = Auth::user();
$needToBePassed = "Lorem Ipsum";
View::share(['currentUser' => $currentUser, 'needToBePassed' => $needToBePassed]);
答案 2 :(得分:0)
您不需要为变量编写多个 view:share 命令。您可以在一个命令中发送所有这些。view:share 基本上采用数组,您将如何发送此数组并不重要。您可以使用内置函数compact 使代码更小。
$currentUser = Auth::user();
$needToBePassed = "Lorem Ipsum"
View::share(compact('currentUser','needToBePassed'));
在 Laravel 7 和 8 中测试和工作