调用未定义的方法Illuminate \ Database \ Query \ Builder :: roles()

时间:2014-08-07 12:25:26

标签: php exception laravel-4

在尝试使用Eloquent的插入时,我总是遇到错误。我想要实现的是将给定的角色附加到用户。用户和角色表具有多对多关系。

User 1 - N UserUserRole M - 1 UserRole

例外:

Call to undefined method Illuminate\Database\Query\Builder::roles() 

控制器:

$user= User::where('email','=',Input::get('email'));
$user->roles()->attach(Input::get('role-list'));

用户的角色功能(它就在那里......)

public function roles() {
        return $this->belongsToMany('Role', 'UserUserRoles','User_id','Role_id');
}

1 个答案:

答案 0 :(得分:1)

您应该在模型上调用方法,而不是“查询”构建器。

尝试

$user= User::where('email','=',Input::get('email'))->first();