gpt4 book ai didi

authentication - 向 Laravel 的授权用户添加更多信息

转载 作者:行者123 更新时间:2023-12-05 08:01:26 25 4
gpt4 key购买 nike

我是 Laravel 的新手,我正在尝试向我从 Auth::user() 返回的用户变量添加更多信息

更详细地说,我与“权限”表之间存在多对多关系。顾名思义,该表拥有用户可以拥有的特定权限。在数据透视表中,我只保存了 user_id 和 privilege_id。我已经设置了必要的模型,如果我在之前的过滤器中执行此操作,一切正常:

$user = Auth::user(); 
$user->priviledges()->get();

现在,我真的很想避免每次我想查找权限时都进行查询,并且希望 Laravel 的 Auth 类包含权限信息,这样当我这样做时

$user = Auth::user(); 

我可以做一个

$user->privileges;

获取用户拥有的所有权限的数组。

对最佳方法有什么建议吗?

最佳答案

上述答案的链接无效。但是,我找到了另一个解决方案 here这对我有用如下:

首先,我在自己的案例中创建了一个名为 EmailPref.php 的模型;

应用程序/模型/EmailPref.php

class EmailPref extends Eloquent {
protected $table = 'email_pref';

public function user()
{
return $this->belongsTo('User');
}
}

然后我在用户模型中创建了一个关系(在我自己的例子中);

应用程序/模型/User.php

    public function emailPref()
{
return $this->hasOne('EmailPref');
}

我随后在我的应用程序中需要的任何地方引用它,如下所示:

    Auth::user()->emailPref;

因此,我能够向 Auth 用户添加更多信息。

关于authentication - 向 Laravel 的授权用户添加更多信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14250937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com