我正试图获得所有角色的许可,这是一个多对多的关系。我想获得单个角色的所有权限。在这里,我试图使用groupby,但它给了我错误。
$search_role = DB::table('roles')
->join('roles_permissions','roles_permissions.role_id','roles.id')
->join('permissions','permissions.id','roles_permissions.permission_id')
->where('roles.name', 'like', "%$request->searcher%")
->orWhere('permissions.name', 'like', "%$request->searcher%")
->select('roles.name as role_name', 'permissions.name as permission_name','roles_permissions.*')
->groupBy('roles_permissions.role_id')
->get();
此处出错:角色\u权限。权限\u id不在groupby中。
如果我加上我得到的另一列不在groupby中。
1条答案
按热度按时间nuypyhwy1#
select语句中没有任何聚合操作。看看我的例子
你想做的没有意义。分组方式不是这样的。
是有效的
不是。在后一种情况下,通常需要添加未聚合到GROUPBY语句的每一列