我已经尝试了所有内容,您可以在这两个论坛链接中看到。没有人能够提供解决方案。
我在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';
}
}
答案 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中,类似于断点的彩色圆圈就在该行上。