admin_roles
и admin_permissions
таблица представляет собой отношение «многие ко многим»
Идентификатор запроса от admin_permission
, где admin_roles
Идентификатор в 1,2
Использование реализации SQL:
SELECT
DISTINCT`admin_role_permissions`.permission_id
FROM
`admin_permissions`
INNER JOIN `admin_role_permissions` ON `admin_permissions`.`id` =
`admin_role_permissions`.`permission_id`
WHERE
`admin_role_permissions`.`role_id` IN (1, 2)
Результат:
$ allow_ids = [1,3,4 ....];
Как использовать модель Laravelна вышеупомянутый эффект?
AdminRoleController.php
$role_ids = ['1','2'];
$permissions = AdminRole::with('relPermission')->whereIn('id', $role_ids)->get();
AdminRole.php
public function relPermission(){
return $this->belongsToMany('App\Model\AdminPermission', 'admin_role_permissions', 'role_id', 'permission_id');
}
Но результат:
Как получить такой результат, как
$ allow_ids = [1,3,4 .....]
используйте модель Laravel или коллекцию Laravel