2014-01-08 5 views
0

Как сделать аутентификацию с помощью нескольких таблиц базы данных в Laravel?Аутентификация Laravel 4 с таблицей с несколькими базами данных

К примеру, у меня есть 3 таблицы: 1. Общий Пользователь Логин таблица 2. Членская подробно таблица 3. CMS подробно пользователь таблица

Когда пользователь Войти с CMS или логина членов, Auth будет перейдите и проверьте из таблицы «общий пользовательский вход». Но как я могу заставить функцию Auth получать информацию со второй или третьей таблицы в зависимости от типа пользователя? Затем я могу получить доступ к этой информации через что-то вроде Auth::user()->address, адрес которого хранится в таблице подробностей членства.

спасибо.

+0

ли вы определить отношения между различными моделями? http://laravel.com/docs/eloquent#relationships – JackPoint

ответ

3

Создание отношений столбцов, чтобы связать ваш пользователь к данным в других таблицах:

<?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; 
Смежные вопросы