Я не могу получить значение запроса из входного значения в laravel

ОБНОВЛЕНИЕ: я только что узнал, что $request может получить только input name, поэтому мне пришлось изменить форму радиобокса, чтобы input name был другим

Итак, я работаю с ролями и разрешениями в laravel, и я использую пакет spatie для ролей и разрешений https://github.com/spatie/laravel-permission, но я застрял в форме радиобокса. Я пытаюсь дать администратору возможность изменить роль пользователя на его панели инструментов, но значение, которое я получаю из радиобокса, всегда остается последним.

Это форма в моем edit.blade.php

<div class="form-group">
      <label for="user-role">Role</label>
      <br />
      <label class="radio-inline">
        <input type="radio" name="optradio" value="admin" @if($user->hasRole('admin')) checked @endif> Admin </input>
      </label>
      <label class="radio-inline">
        <input type="radio" name="optradio" value="manager" @if($user->hasRole('manager')) checked @endif> Menager </input>
      </label>
      <label class="radio-inline">
        <input type="radio" name="optradio" value="user" @if($user->hasRole('user')) checked @endif> User </input>
      </label>
    </div>

А это функция в моем UsersController.php

$request['admin'] ? $user->assignRole('admin') : $user->removeRole('admin');
$request['manager'] ? $user->assignRole('manager') : $user->removeRole('manager');
$request['user'] ? $user->assignRole('user') : $user->removeRole('user');

Теперь $request получает input name вместо value, и поскольку имя такое же, и я не могу его изменить, потому что он нарушает мою форму, он получает последний и всегда регистрируется как user


person Ardit Imeri    schedule 19.11.2018    source источник
comment
Я думаю, вам нужно изменить разные значения имени для каждого ввода.   -  person entoniperez    schedule 19.11.2018
comment
@if($user->hasRole('admin')) checked @endif - Это не похоже. Во-вторых, разве $request не является объектом класса Request, а не массивом?   -  person Script47    schedule 19.11.2018
comment
@entoniperez Я пробовал это и работал, но проблема в том, что теперь мои радиобоксы не работают, теперь я могу выбрать несколько радиобоксов, и они не снимают отметку   -  person Ardit Imeri    schedule 19.11.2018


Ответы (1)


Получает ли ваш контроллер значение, которое вы отправляете из своей формы

Если да, попробуйте получить доступ к дате с помощью

$ запрос-> получить ('админ');

Надеюсь, это сработает :)

person Devaux    schedule 19.11.2018
comment
Я пробовал этот метод, но теперь форма ничего не отправляет в базе данных :( - person Ardit Imeri; 19.11.2018
comment
После того, как я проверил более подробную информацию, этот метод работает так же, как метод, который я использовал, он получает имя входа вместо входного значения - person Ardit Imeri; 19.11.2018
comment
Вы имеете в виду, что вы не получаете, контроллер не получает информацию из формы? - person Devaux; 19.11.2018