Kohana ORM关系问题
发布时间:2020-12-15 02:21:12 所属栏目:Java 来源:网络整理
导读:我有桌子: users {id,name}projects {id,name}roles {id,name}projects_users {id,user_id,project_id,role_id} 我有模特: project { has many users through projects_users }user { has many projects through projects_users } 题: 我如何获得一个项目
我有桌子:
users {id,name} projects {id,name} roles {id,name} projects_users {id,user_id,project_id,role_id} 我有模特: project { has many users through projects_users } user { has many projects through projects_users } 题: 码: $project = ORM::factory('project',$id); $users = $project->users->find_all(); foreach ($users as $u) { $roles = $u-> .... How to get all roles for this user and for this project? } 解决方法
您的project_users表似乎代表项目中的角色,添加与该表绑定的另一个模型:
project_role { has one user has one role has one project } user { has many project_role ... } project { has many project_role ... } 然后你可能会这样做: $user = ORM::factory('user') ->with('project_role') ->where('project_role.project_id','=',$id) ->with('project_role:role')->findall(); 如果这不起作用,则下列之一应该有效,但可能是与您所追求的不同的遍历形式. $project = ORM::factory('project',$id); $roles = $project->project_role->with('user')->with('role')->findall(); 要么 $roles = ORM::factory('project_role') ->where('project_id',$id) ->with('user')->with('role')->findall(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |