【发布时间】:2014-05-05 12:08:40
【问题描述】:
用户模型:
<?php
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;
use Zizaco\Entrust\HasRole;
class User extends Eloquent implements UserInterface, RemindableInterface {
use HasRole;
角色模型:
<?php
use Zizaco\Entrust\EntrustRole;
class Role extends EntrustRole
{
}
权限模型:
<?php
use Zizaco\Entrust\EntrustPermission;
class Permission extends EntrustPermission
{
}
用户控制器:
public function postSignin(){
if (Auth::attempt(array('email'=>Input::get('email'),
'password'=>Input::get('password')))) {
$id = Auth::user()->id;
$user = User::where('id','=',$id);
$firstname = Auth::user()->firstname;
if ($user->hasRole("User_Not_Approved")) {
return Redirect::intended('/users/dashboard');
}
错误信息:
BadMethodCallException 调用未定义的方法 Illuminate\Database\Query\Builder::hasRole()
当 IF 语句运行时出现错误消息,而用户正在登录。我已按照 Entrust 的说明进行操作,但我不知道为什么它没有使用该方法。
任何帮助将不胜感激!
【问题讨论】: