Как создать запрос Eloquent, содержащий функцию, проверяющую значение - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть типичные модели «Пользователи» и «Роли» с ролями, содержащими столбцы для разрешений со значениями true / false.

У меня также есть функция User, которая проверяет разрешения.

    /** Return if the user has the given permission.
     * 
     * @param string $permission
     * @return boolean
     */
    public function hasPermission($permission)
    {
        $roles = $this->roles();
        $access = $roles->where(
            $permission, true)->first();
        if ($access !== null) {
            //dd($permission);

            return true;
        }
        return false;
    }

Сейчас я пытаюсь сделать запрос, который возвращает всех пользователей с данным разрешением (скажем, с разрешением 'can_assign_roles').

Я подозреваю, что это выглядит как $permitted_users = User::whereHas('roles', function())->get() с function($query) с использованием User::hasPermission('can_assign_roles') == true.

Но я не знаю, как все это сложить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...