我有这个数据
$data["isLoggedIn"] = true;
$data["isAdmin"] = true;
$data["isOrg"] = true;
我以这种方式将数据分享给视图。
view()->share('data', $this->data);
在我看来(刀片)我访问数据
{{ $data['isAdmin'] }}
我想用密钥获取数据,例如:
{{ $isAdmin }}
我是否需要创建一个foreach数组并传递每个内部键?
谢谢!
答案 0 :(得分:3)
答案是否定的。您不必使用foreach
循环传递这些数据。您可以通过以下方式执行此操作:
在控制器中:
$data["isLoggedIn"] = true;
$data["isAdmin"] = true;
$data["isOrg"] = true;
return view('your_view', $data);
另一方面,要在全局的所有视图中共享这些数据,您必须在控制器中执行以下操作:
View::share('isLoggedIn', true);
View::share('isAdmin', true);
View::share('isOrg', true);
return view('your_view');
要执行此操作,您需要在控制器顶部写入use View;
。
在刀片中:(例如yourview.blade.php):
{{ $isAdmin }}
答案 1 :(得分:0)
你共享一个命名数组,用你可以尝试的密钥获取数据
$isLoggedIn = true;
$isAdmin = true;
$isOrg = true;
view()->share('isLoggedIn', $this->$isLoggedIn)->share('isAdmin', $this->$isAdmin)->share('isOrg', $this->isOrg);
或者您可以将数据作为闪存数据发送
http://laravel.com/docs/5.1/responses#redirecting-with-flashed-session-data
答案 2 :(得分:0)
您可以使用View facade直接使用此语法共享数组:
View::share( $this->data );
现在你可以访问这样的任何键:
{{ $key }}