2014-02-20 77 views
1

我使用Sentry 2.1進行身份驗證。使用Sentry :: getUser(),我無法訪問模型訪問器

我的用戶模型:

<?php namespace App\Models; 

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

class User extends \Cartalyst\Sentry\Users\Eloquent\User implements UserInterface, RemindableInterface { 
/* Sentry Defaults omitted for brevity */ 

    public function children() 
    { 
    return $this->hasMany('App\Models\Children'); 
    } 

    public function getFullNameAttribute() 
    { 
    return trim($this->attributes['first_name'] . ' ' . $this->attributes['last_name']); 
    } 
} 

我的登錄功能:

$credentials = array(
    'email' => Input::get('email'), 
    'password' => Input::get('password') 
); 
if (Auth::attempt($credentials)) 
{ 
    $user = Sentry::authenticate($credentials, $remember); 
    return Redirect::to('/'); 
} 

爲什麼我使用驗證::嘗試,然後哨兵原因::身份驗證時,因爲我從一個遷移舊的數據庫到一個新的,所以我附加一個鉤子/監聽auth.attempt,所以我可以處理檢查舊密碼。

現在,在我登錄後,我無法訪問full_name訪問器屬性。

$user = Sentry::getUser(); 
echo $user->full_name; // results in NULL 

我想我錯過了一個小東西在這裏,但我找不到那個缺失的部分。

感謝您的幫助!

+0

我想第一件事是'dd()'$ user'變量,以確保它是你所期望的'User'類的一個對象。 – alexrussell

回答

4

你編輯哨兵的配置(DIR:/app/config/packages/cartalyst/sentry/config.php「)??

'model' => 'Cartalyst\Sentry\Users\Eloquent\User', 

'model' => 'App\Models\User',