gpt4 book ai didi

php - 创建复杂的 hasManyThrough Laravel 4 查询

转载 作者:行者123 更新时间:2023-11-29 00:04:28 24 4
gpt4 key购买 nike

我有类 User、User_Role 和 Role_Permission 以及相应的表

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 正在寻找 Role_Permission 表中的 user_id 列,但找不到。

关于php - 创建复杂的 hasManyThrough Laravel 4 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28189098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com