Как настроить ассоциативный массив данных в laravel - PullRequest
0 голосов
/ 09 июня 2018

Я работаю над ACL laravel. В моей системе ACL для каждой роли есть список разрешений для массива. Моя проблема заключается в том, что когда я выбираю более одной роли для пользователя, полномочия для ролей показывают мне вот так.Я хочу настроить массив данных в этом формате. { "read": "1", "create": "1", "update": "1", "delete": "1", "read-product": "1", "create-product": "1", "update-product": "1" }

Кому, этот формат. "User":{ "read": "1", "create": "1", "update": "1", "delete": "1", } "Admin": { "read-product": "1", "create-product": "1", "update-product": "1" "delete-product": "1" },

Вот часть моего контроллера.

 public function assignrole(Request $request)
{

    $a;

   if(is_array($request['role']))
    {
        foreach($request['role'] as $role)
        {
            $role_info=Role::find(1);
            foreach($request->permissions as $permission=>$value)
            {
                $a[$permission] = $value;
            }
        }
        return $role_info;
    }

}

1 Ответ

0 голосов
/ 09 июня 2018

Вы должны обрабатывать и объединять разрешения вместе, используя array_merge или array_map.

Тем не менее, я бы предложил использовать правильный пакет ACL ... я вижу, вы используете laravel, есть несколько хороших на https://packagist.org/. Они все идут с документацией и после того, как вы установитеих вам не нужно беспокоиться о проблемах, подобных этой, и продолжить свое приложение: -)

Удачи!

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