1

更新:所以我刚刚发现$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

4

1 回答 1

0

您的控制器是否获得了您从表单发送的值

如果是,请尝试访问日期

$request->get('admin');

希望这会奏效:)

于 2018-11-19T09:08:17.790 回答