【问题标题】:Laravel Entrust return auth user with rolesLaravel Entrust 返回具有角色的身份验证用户
【发布时间】:2017-10-01 21:08:16
【问题描述】:

我正在与 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访问会简单得多

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    您正在寻找load 方法:

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

    但是,您可能 - 取决于您的需要 - 使用这种方法有一些不需要的属性,例如数据透视表属性。

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

    【讨论】:

      猜你喜欢
      • 2020-12-26
      • 2015-12-27
      • 2021-03-18
      • 1970-01-01
      • 2021-01-01
      • 2019-10-04
      • 1970-01-01
      • 1970-01-01
      • 2021-03-10
      相关资源
      最近更新 更多