我的数据库'administrator'和'moderator'类型单选按钮中有两个字段,我想:
选择管理员时保存值1,值为0 主持人
当我选择主持人时,我想保存值1和 管理员的值为0
我尝试使用此代码,但它不起作用。
我的观点:
<label class="mt-checkbox">
<input type="radio" id="administrator" name="radio" value="administrator"> Administrator
</label>
<label class="mt-checkbox">
<input type="radio" id="moderator" name="radio" value="moderator"> Moderator
</label>
我的控制器:
public function add_profil(Request $request)
{
$profil = new Profil();
if($request->adminitrator == 'checked'){
$profil->adminitrator = 1;
$profil->moderator = 0;
}
elseif ($request->moderator == 'checked') {
$profil->moderator = 1;
$profil->adminitrator = 0;
}
$profil->save();
}
答案 0 :(得分:0)
您的请求已<input name='radio'>
,因此您需要查找请求,如下所示:
public function add_profil(Request $request)
{
$profil = new Profil();
if($request->radio == 'adminitrator'){
$profil->adminitrator = 1;
$profil->moderator = 0;
}
elseif ($request->radio == 'moderator') {
$profil->moderator = 1;
$profil->adminitrator = 0;
}
$profil->save();
}
答案 1 :(得分:0)
发送请求后,您将获得带有名称的输入。所以你的收音机按钮的名称是&#39; radio&#39;。因此,您应该使用该输入名称检查请求,而不是输入的值。
我建议您使用request-&gt; all()方法获取请求,并将其设置为变量$ request。这样,您可以将请求视为数组,并使用与输入名称相同的键访问请求值。
所以你可以这样做: 首先,在您的控制器中,您必须使用无线电名称检查请求值是什么,然后如果它具有管理员值,则将管理员值设置为1,然后将管理员值设置为0.并且在else语句的另一侧你应该这样做,否则就像下面的代码:
public function add_profil(Request $request)
{
$request = request->all();
$profil = new Profil();
if($request['radio'] == 'administrator'){
$profil->adminitrator = 1;
$profil->moderator = 0;
}
elseif ($request['radio'] == 'moderator') {
$profil->moderator = 1;
$profil->adminitrator = 0;
}
$profil->save();
}
请注意,在if语句中键入管理员错误。你错误地排除了&#39;。
答案 2 :(得分:-1)
你在laravel中得到了错误的名字,将表单更改为:
public function add_profil(Request $request)
{
$profil = new Profil();
if($request->administrator == 'checked'){
$profil->adminitrator = 1;
$profil->moderator = 0;
}
elseif ($request->moderator == 'checked') {
$profil->moderator = 1;
$profil->adminitrator = 0;
}
$profil->save();
}
<label class="mt-checkbox">
<input type="radio" id="administrator" name="administrator" value="checked"> Administrator
</label>
<label class="mt-checkbox">
<input type="radio" id="moderator" name="moderator" value="checked"> Moderator
</label>