错误类用户包含1个抽象方法

时间:2014-07-10 20:27:57

标签: php laravel

我已经尝试了所有内容,您可以在这两个论坛链接中看到。没有人能够提供解决方案。

我在db中添加了remember_token字段,其中包含varchar 255和null

我的表名正确地命名为用户

我在用户模型中添加了三个必需的功能,以便Auth工作。

我的所有代码看起来都是正确的,正如其他人所说的那样。

laravel forum php academy forum

这是错误:

Class User contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Illuminate\Auth\UserInterface::getAuthIdentifier)

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


class User extends Eloquent implements UserInterface, RemindableInterface {

protected $fillable = array('email', 'username', 'password', 'password_temp', 'code', 'active');
/**
* The DB table used by the model
*
*@var string
*/
protected $table = 'users';

/**
* The attributes excluded from the model's JSON form
*
*@var array
*/
protected $hidden = array('password');

/**
* Get the unique identifier for the user
*
* @return mixed
*/
public function getAuthIndentifier() 
{
    return $this->getkey();
}

/**
* Get the password for the user.
*
* @return string
*/
public function getAuthPassword()
{
    return $this->password;
}

/**
* Get the email address where password reminders are sent.
*
* @return string
*/
public function getReminderEmail()
{
    return $this->email;
}

public function getRememberToken()
{   
return $this->remember_token;
}

public function setRememberToken($value)
{
$this->remember_token = $value;
}   

public function getRememberTokenName()
{
return 'remember_token';
}
}

2 个答案:

答案 0 :(得分:0)

您对抽象方法的实现拼写错误:

getAuthIndentifier()应为getAuthIdentifier()

 /**
  * Get the unique identifier for the user
  *
  * @return mixed
  */
  public function getAuthIndentifier() //<----bad spelling!!!!
  {
        return $this->getkey();
   }

...我假设你真的没打算创建方法getAuthIndentifier()

答案 1 :(得分:0)

您应该继承getAuthIdentified(),而不是声明了一个带有拼写错误的方法

/**
* Get the unique identifier for the user
*
* @return mixed
*/
public function getAuthIndentifier() 
{
    return $this->getkey();
}

iNdentifier。你的IDE应该告诉你是否覆盖了一个方法,如果没有,你可能知道它不是覆盖,而是一个全新的方法。在Eclipse,NetBeans和PHPStorm中,类似于断点的彩色圆圈就在该行上。