您好,我已经安装了 sentry2 包,并且我创建了一个通过用户名获取用户的功能,即使我有喜欢用于登录电子邮件的主列,但它给我一个错误。
所以我创建了我的模型用户并扩展它\Cartalyst\Sentry\Users\Eloquent\User
然后我在这种情况下与另一个模型建立关系Player
所以关系看起来像这样:
用户模型
class User extends \Cartalyst\Sentry\Users\Eloquent\User implements UserInterface, RemindableInterface {
public function sport() {
return $this->hasOne('Core\Team\Player\Models\Player','player_id');
}
}
播放器模型
public function user() {
return $this->belongsTo('User','player_id');
}
然后这是通过用户名查找用户的功能给我一个错误:
调用未定义的方法 Illuminate\Database\Query\Builder::sport()
通过用户名获取用户的功能
public function byUsername($username) {
$emptyModelInstance = $this->sentry->getUserProvider()->getEmptyUser();
$myUser = $emptyModelInstance->with('sport')->where('username', '=', $username)->first();
if ( is_null($myUser) ) {
return false;
} else {
return $myUser;
}
}
Ps:如果我删除 with() 方法它工作得很好