Laravel выдает ошибку в цикле foreach в spatie-permission

Я применял разрешения Spatie Laravel и программировал для добавления разрешений к ролям. и столкнулся с ошибкой.

public function store(Request $request) {
//Validate name and permissions field
    $this->validate($request, [
        'name'=>'required|unique:'.config('permission.table_names.roles').'|max:10',
        ]
    );

    $name = $request['name'];
    $role = new Role();
    $role->name = $name;

    $permissions = $request['permissions'];
    $role->save();
//Looping thru selected permissions
    if (count($permissions>0)){
    foreach ($permissions as $permission) {

        $p = Permission::where('id', '=', $permission)->firstOrFail(); 
     //Fetch the newly created role and assign permission
        $role = Role::where('name', '=', $name)->first(); 
        $role->givePermissionTo($p);
    }
}

    return redirect()->route('roles.index')
        ->with('flash_message',
         'Role'. $role->name.' added!'); 
}

Laravel выдает ошибку в цикле foreach в spatie-permission

Так что, если кто-то, пожалуйста, помогите мне решить эту проблему.

dd($request['permissions']) - что вы получаете?
Sougata Bose 23.01.2019 05:11

я получаю "3" @SougataBose

Vardana Bhanot 23.01.2019 05:13

цифра "3"?

Ijas Ameenudeen 23.01.2019 05:17

да, сэр @IjasAmeenudeen

Vardana Bhanot 23.01.2019 05:18

Так что это не массив.

Sougata Bose 23.01.2019 05:18

Вы используете входные массивы? как permissions[] по форме?

Sougata Bose 23.01.2019 05:19

это флажок, я принимаю ввод, нет, я не использую массив @SougataBose

Vardana Bhanot 23.01.2019 05:21

Используйте массив для разрешений, как упоминалось в @SougataBose. Это решит вашу проблему.

Ijas Ameenudeen 23.01.2019 05:26

спасибо, я так и сделаю @IjasAmeenudeen

Vardana Bhanot 23.01.2019 05:27
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
9
449
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В форме отправки используйте это

<input type = "checkbox" name = "permissions[]" value = "{{ $r->id }}"> {{$r->display_name}} </li>

В контроллере ловите эти разрешения, как это

$permissions = $request->permissions;

Другие вопросы по теме