这是一个困扰我一段时间的问题。Laravel 5.4 - 数组返回NULL而不是数值
我有一个服务提供程序将数据传递到所有视图,每次侧边栏呈现。像这样:
`
public function boot()
{
$userrole = array (DB::table('users')->where('id','=', Auth::id())->value('role'));
$menucase1 = [3,4,9,10];
$menucase2 = [1,2,3,10];
$menucase3 = [1,3,4,9,10];
$menucase4 = [4,9];
$commondata = compact('userrole','menucase1','menucase2','menucase3','menucase4');
view()->share('commondata', $commondata);
View::composer('sidebar', function ($view) {
$userrole = array (DB::table('users')->where('id','=', Auth::id())->value('role'));
$menucase1 = [3,4,9,10];
$menucase2 = [1,2,3,10];
$menucase3 = [1,3,4,9,10];
$menucase4 = [4,9];
$commondata = compact('userrole','menucase1','menucase2','menucase3','menucase4');
$view->with('commondata', $commondata);
});
}`
做一个{{ dd($commondata) }}
返回menucase阵列正确的值,但NULL
为$userrole
如果我在控制器声明相同$userrole
变量并调用变量在视图中,所述收到的数据是正确的。
这是怎么发生的?
在此先感谢
这是因为会话启动后控制器创建。 – KoIIIeY
所以,只需检查Auth :: id - 它将为空。 – KoIIIeY
谢谢,我刚刚打印了userid,就像这个'{{Auth :: id()}}'一样,它返回了一个值。 –