更新: だから私はちょうどそれが異なる必要があるようにラジオボックスのフォームを変更しなければなら$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