更新:所以我刚发现$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
答案 0 :(得分:0)
您的控制器是否从表单中获取您要发送的值
如果是,请尝试使用
访问日期$ request-> get('admin');
希望这会起作用:)