我有一个调查表,我需要根据复选框的值将值放在一栏中。
我的复选框输入表单:
<input type="checkbox" name="chk" value="1" />
<label for="chk[]">Prijava</label>
控制器:
public function store(Request $request)
{
$validated=$request->validate([
'title'=>'required',
'description'=>'nullable'
]);
if(Input::get('chk')==="1"){
$validated['prijava']=1;
}
else{
$validated['prijava']=0;
}
return Survey::create($validated);
}
如果复选框为check,我需要'prijava'列为1,否则为0。我总是得到0,如果我将其他代码更改为例如2,它将在列中添加2。我还把“ prijava”列设为布尔值。
答案 0 :(得分:0)
您不需要使用Input
类来检查是否已选中复选框。由于您已经有Request
个实例,因此请检查它:
if($request->chk === "1"){
$validated['prijava']=1;
}
else{
$validated['prijava']=0;
}
没有对此进行测试,但是应该可以得到所需的输出。让我知道您是否遇到任何错误。
答案 1 :(得分:0)
$config = array(
'format' => 'A4',
'mode' => 'utf-8',
'margin_header' => 20,
'margin_footer' => 10,
'orientation' => 'P'
);
$mpdf = new Mpdf($config);
如果选中此复选框,则返回true;否则,则返回false。
答案 2 :(得分:0)
首先删除值属性,如下所示:
<input type="checkbox" name="chk" />
然后在您的存储方法中将您的代码更新为:
public function store(Request $request)
{
$validated=$request->validate([
'title'=>'required',
'description'=>'nullable'
]);
if($request->has('chk')){
$validated['prijava']=1;
}
else{
$validated['prijava']=0;
}
return Survey::create($validated);
}
我认为这很好用