Laravel Entrust返回具有角色的auth用户

时间:2017-05-03 21:15:07

标签: php laravel

我正在与Laravel和Entrust合作,基本工作正常。我确实有一个问题似乎与包没有关系。我想要的是当我Auth::user()登录时,它也会返回他们的角色。目前我知道我可以做Auth::user()->roles,但为了工作,我需要先检查他们是否是用户。我会想象有一种更简单的方法和方便,当你返回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.user.roles

访问会更简单

1 个答案:

答案 0 :(得分:0)

您正在寻找load方法:

'user'=> Auth::user() ? Auth::user()->load('roles') : null,

但是,您可能会依赖于您需要的东西 - 使用此方法获得一些不需要的属性,例如数据透视表属性。

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