1

我正在使用 Auth::check('user', $this->request),其中 'user' 是我的 Auth::config 配置的名称,以针对用户表成功验证和登录用户。用户登录成功后,用户信息存储在会话中,可以通过 Auth::check('user') 访问。

我有一个关系设计,其中 Users 表与名为 Sites 的表具有多对一的关系。当 Auth::check 查询用户表以验证登录用户时,它只返回用户表中的信息。我需要 Auth:check 从 Sites 表返回用户及其相关数据。User 和 Site 模型都定义了适当的 hasOne 和 hasMany 关系。如何确保通过 Auth::check() 查询并返回用户对应的相关数据?

4

1 回答 1

1

虽然通常不建议存储比绝对必要更多的会话信息,但可以通过auth 适配器的'query'配置键来做到这一点。Form只需在您的模型中创建一个包装器方法,该方法Users可以接受一个查询配置数组,并返回一个具有关联关系的用户对象。大概是这样的:

public static function authenticate (array $query) {
    return static::all($query + array('with' => 'Sites'));
}

然后,添加'query' => 'authenticate'到您的'user'身份验证配置。

于 2012-10-05T12:53:02.830 回答