Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过Laravel 4查询创建复杂的HASMANY_Php_Mysql_Laravel 4 - Fatal编程技术网

Php 通过Laravel 4查询创建复杂的HASMANY

Php 通过Laravel 4查询创建复杂的HASMANY,php,mysql,laravel-4,Php,Mysql,Laravel 4,我有类User、User\u Role和Role\u权限以及相应的表 users (id) users_roles (user_id, role_id, one user_id has one role_id) roles_permissions (role_id, permission_id, one role_id has many permission_id) 我想通过$user->permissions为用户获取权限。为此,我编写了一个函数 public function perm

我有类User、User\u Role和Role\u权限以及相应的表

users (id)

users_roles (user_id, role_id, one user_id has one role_id)

roles_permissions (role_id, permission_id, one role_id has many permission_id)
我想通过$user->permissions为用户获取权限。为此,我编写了一个函数

public function permissions()
{
    return $this->hasManyThrough('User_Role', 'Role_Permission', 'user_id','role_id');
}
我得到了错误

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'roles_permissions.user_id' in 'field list' (SQL: select `users_roles`.*, `roles_permissions`.`user_id` from `users_roles` inner join `roles_permissions` on `roles_permissions`.`id` = `users_roles`.`role_id` where `roles_permissions`.`user_id` = 1)  

我做错了什么?谢谢

切换前两个参数的顺序:

public function permissions()
{
    return $this->hasManyThrough('Role_Permission', 'User_Role', 'user_id', 'role_id');
}

Eloquent正在查找
角色权限
表中的
用户id
列,但找不到该列。

@Lambrusco哈哈,我不知道您是否能在我发布之前找到它!:)