Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel委托返回具有角色的身份验证用户_Php_Laravel - Fatal编程技术网

Php Laravel委托返回具有角色的身份验证用户

Php Laravel委托返回具有角色的身份验证用户,php,laravel,Php,Laravel,我与拉雷维尔和托拉斯合作,基础工作很好。我确实有一个问题似乎不是随包而来的。我想要的是,当我执行Auth::user()时,如果他们登录,它也会返回他们的角色。目前我知道我可以做Auth::user()->角色,但要想做到这一点,我需要先检查他们是否是用户。我认为有一种更简单、更方便的方法,因为当您返回auth用户时,您也会得到相应的角色 下面是我当前如何设置head.blade.php文件 <?php if( Auth::user() ){ $roles = Auth::user()-&

我与拉雷维尔和托拉斯合作,基础工作很好。我确实有一个问题似乎不是随包而来的。我想要的是,当我执行
Auth::user()
时,如果他们登录,它也会返回他们的角色。目前我知道我可以做
Auth::user()->角色
,但要想做到这一点,我需要先检查他们是否是用户。我认为有一种更简单、更方便的方法,因为当您返回auth用户时,您也会得到相应的角色

下面是我当前如何设置head.blade.php文件

<?php if( Auth::user() ){ $roles = Auth::user()->roles()->get(); }else{$roles = null;} ?>

<!-- global config -->
<script>

    window.Laravel = {!! json_encode([
        'csrfToken' => csrf_token(),
        'stripeKey'=> config('services.stripe.key'),
        'user'=> Auth::user(),
        'roles' => $roles,

    ]) !!};

</script>

window.Laravel={!!json\u encode([
'csrfToken'=>csrf_token(),
'stripeKey'=>config('services.stripe.key'),
'user'=>Auth::user(),
“角色”=>$roles,
]) !!};

甚至不需要roles对象,而是通过
window.Laravel.user.roles
进行访问会简单得多。您正在寻找
加载
方法:

'user'=> Auth::user() ? Auth::user()->load('roles') : null,
但是,根据需要,这种方法可能会有一些不需要的属性,比如透视表属性

最好在控制器中创建一个
user
属性,并将其传递给包含所需信息的视图