界面在Laravel 4中不起作用

Ant*_*ony 1 php laravel laravel-4

我正在尝试实现Laravel Auth Token(https://github.com/tappleby/laravel-auth-token),到目前为止它安装正常,但是当我尝试POST一个用户名/密码时,它就失败了.我已将此问题追溯到此:

Argument 1 passed to Illuminate\Auth\EloquentUserProvider::validateCredentials() must be an instance of Illuminate\Auth\UserInterface, instance of User given
Run Code Online (Sandbox Code Playgroud)

基本上代码运行:

$user = $this->users->retrieveByCredentials($credentials);
Run Code Online (Sandbox Code Playgroud)

..检索用户(工作原理:返回用户模型).然后运行:

$this->users->validateCredentials($user, $credentials)
Run Code Online (Sandbox Code Playgroud)

这就是崩溃发生的地方.我检查了我的用户模型,顶部是:

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

class User extends Eloquent {
 ...
}
Run Code Online (Sandbox Code Playgroud)

我认为这会使我的User模型成为UserInterface的一个实例,对吧?

有没有办法检查我的用户可以代表什么实例,和/或调试UserInterface没有应用的原因?

rmo*_*bis 5

不,如果它实际实现了接口,那么什么会使你的User类成为实例Illuminate\Auth\UserInterface.你应该有这样的东西:

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

class User extends Eloquent implements UserInterface {
    ...
}
Run Code Online (Sandbox Code Playgroud)