首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用关系数据laravel 8检索认证用户

用关系数据laravel 8检索认证用户
EN

Stack Overflow用户
提问于 2022-02-09 01:57:55
回答 1查看 146关注 0票数 1

目前,我正在laravel 8上研究JWT auth,为了解释我试图直接做什么,我试图在成功验证后将用户数据与关系数据一起发送。请看一下我的代码

代码语言:javascript
运行
复制
    //response login "success" with generate "Token"
    return response()->json([
        'success' => true,
        'user'    => auth()->guard('api')->user(),  
        'token'   => $token
    ], 200);enter code here

在这种情况下,api使用用户数据和jwt令牌返回auth条件。但是' user‘=> auth()->guard('api')->user()没有用关系数据返回用户数据。目前,我的用户表与角色表有关系,所以我也希望根据用户数据中的角色id发送角色数据。类似于使用with()函数进行紧急加载。如果您对此有任何提示或解决方案,请帮助我解决这个问题。谢谢你

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-09 03:46:05

您可以将延迟加载方法用于Laravel模型。

https://laravel.com/docs/8.x/eloquent-relationships#lazy-eager-loading

代码语言:javascript
运行
复制
$user = auth()->guard('api')->user();

$user->load(['relation1', 'relation2']);

return response()->json([
        'success' => true,
        'user'    => $user,  
        'token'   => $token
    ], 200);

或者,您可以将用户模型的关系添加到模型中,从而始终加载它们。

https://laravel.com/docs/8.x/eloquent-relationships#eager-loading-by-default

代码语言:javascript
运行
复制
class User extends ExtendedClasses
{
    /**
     * The relationships that should always be loaded.
     *
     * @var array
     */
    protected $with = ['relation1', 'relation2'];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71043117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档