首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于多数据库表的Laravel 4认证

基于多数据库表的Laravel 4认证
EN

Stack Overflow用户
提问于 2014-01-08 00:54:23
回答 1查看 1.5K关注 0票数 0

如何在Laravel中使用多个数据库表进行身份验证?

例如,我有3个表: 1.普通用户登录表2.成员资格明细表3. CMS用户详细表

当用户从CMS或成员登录登录时,Auth将从“通用用户登录”表中进行验证。但是,如何使Auth函数也从第二个或第三个表中获取信息取决于用户类型?然后,我可以通过类似Auth::user()->address的方式访问这些信息,地址存储在成员资格明细表中。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-08 15:57:55

创建关系列,以便将用户与其他表中的数据关联起来:

代码语言:javascript
复制
<?php

use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;

class User extends Eloquent implements UserInterface, RemindableInterface {

    public function membership()
    {
        return $this->belongsTo('Membership');
    }

    public function userDetails()
    {
        return $this->belongsTo('CmsDetail');
    }

}

class Membership extends Eloquent {

    protected $table = 'membership';

}

class CmsDetail extends Eloquent {

    protected $table = 'cms_details';

}

然后你就可以

代码语言:javascript
复制
echo Auth::user()->membership->member_since;

echo Auth::user()->userDetails->address;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20985073

复制
相关文章

相似问题

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