ОБНОВЛЕНИЕ: Итак, я только что узнал, что $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