我正在与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
答案 0 :(得分:0)
您正在寻找load
方法:
'user'=> Auth::user() ? Auth::user()->load('roles') : null,
但是,您可能会依赖于您需要的东西 - 使用此方法获得一些不需要的属性,例如数据透视表属性。
最好在控制器中创建一个user
属性,并将其传递给包含所需信息的视图。