【问题标题】:Laravel 4 authentication with multi database table具有多数据库表的 Laravel 4 身份验证
【发布时间】:2014-01-25 22:18:00
【问题描述】:

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

例如,我有 3 个表: 1. 通用用户登录表 2. 会员明细表 3. CMS用户明细表

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

谢谢。

【问题讨论】:

标签: php mysql authentication laravel laravel-4


【解决方案1】:

创建关系列,将您的用户与其他表中的数据相关联:

<?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';

}

那你就可以了

echo Auth::user()->membership->member_since;

echo Auth::user()->userDetails->address;

【讨论】:

    猜你喜欢
    • 2014-10-09
    • 2013-09-09
    • 2013-09-11
    • 1970-01-01
    • 2019-12-09
    • 2019-03-23
    • 2020-12-26
    • 1970-01-01
    • 2020-02-09
    相关资源
    最近更新 更多