如何将复选框输入数据库
how to input checkbox to database
我创建了一个带有 3 个复选框的表单,当我选中一个复选框时,它成功地将它放入数据库中。但是当我选中多个复选框时,只有一个数据输入会进入数据库,这是第一个复选框数据。如何存储从所有复选框输入的数据?
到目前为止,这些是我的代码:
HTML
<div class="form-group">
<b>Paket</b>
<br/>
<fieldset>
<input type="checkbox" name="paket" id="delux" value="Delux"> <label for="">Paket Delux </label>
<input type="checkbox" name="paket" id="p1" value="Paket1"> <label for="">Paket 1</label>
<input type="checkbox" name="paket" id="p2" value="Paket2"> <label for="">Paket 2</label>
</fieldset>
</div>
控制器
public function proses(Request $request)
{
$this->validate($request,[
'file'=>'required|file|image|mimes:jpeg,png,jpg|max:2048',
'makanan'=>'required',
'jenis'=>'required',
'paket'=>'required',
]);
$file = $request->file('file');
$nama_file = time()."_".$file->getClientOriginalName();
//nama folder tempat file diupload
$tujuan_upload = 'image_file';
$file->move($tujuan_upload,$nama_file);
Gambar::create([
'file' =>$nama_file,
'nama_makanan'=>$request->makanan,
'kode_jenis'=>$request->jenis,
'paket'=>$request->paket,
]);
return redirect('/makanan');
}
试试这个:
更新所有 3 个复选框名称
发件人:
name="paket"
至:
name="paket[]"
和
'paket'=>$request->paket,
至:
'paket' => implode(',',$request->paket`)
这会帮助你:)
<div class="form-group">
<b>Paket</b>
<br/>
<fieldset>
<input type="checkbox" name="paket[]" id="delux" value="Delux"> <label for="">Paket Delux </label>
<input type="checkbox" name="paket[]" id="p1" value="Paket1"> <label for="">Paket 1</label>
<input type="checkbox" name="paket[]" id="p2" value="Paket2"> <label for="">Paket 2</label>
</fieldset>
</div>
public function proses(Request $request)
{
$this->validate($request,[
'file'=>'required|file|image|mimes:jpeg,png,jpg|max:2048',
'makanan'=>'required',
'jenis'=>'required',
'paket'=>'required',
]);
$file = $request->file('file');
$nama_file = time()."_".$file->getClientOriginalName();
//nama folder tempat file diupload
$tujuan_upload = 'image_file';
$file->move($tujuan_upload,$nama_file);
Gambar::create([
'file' =>$nama_file,
'nama_makanan'=>$request->makanan,
'kode_jenis'=>$request->jenis,
'paket'=>json_encode($request->paket),
]);
return redirect('/makanan');
}
我创建了一个带有 3 个复选框的表单,当我选中一个复选框时,它成功地将它放入数据库中。但是当我选中多个复选框时,只有一个数据输入会进入数据库,这是第一个复选框数据。如何存储从所有复选框输入的数据?
到目前为止,这些是我的代码:
HTML
<div class="form-group">
<b>Paket</b>
<br/>
<fieldset>
<input type="checkbox" name="paket" id="delux" value="Delux"> <label for="">Paket Delux </label>
<input type="checkbox" name="paket" id="p1" value="Paket1"> <label for="">Paket 1</label>
<input type="checkbox" name="paket" id="p2" value="Paket2"> <label for="">Paket 2</label>
</fieldset>
</div>
控制器
public function proses(Request $request)
{
$this->validate($request,[
'file'=>'required|file|image|mimes:jpeg,png,jpg|max:2048',
'makanan'=>'required',
'jenis'=>'required',
'paket'=>'required',
]);
$file = $request->file('file');
$nama_file = time()."_".$file->getClientOriginalName();
//nama folder tempat file diupload
$tujuan_upload = 'image_file';
$file->move($tujuan_upload,$nama_file);
Gambar::create([
'file' =>$nama_file,
'nama_makanan'=>$request->makanan,
'kode_jenis'=>$request->jenis,
'paket'=>$request->paket,
]);
return redirect('/makanan');
}
试试这个: 更新所有 3 个复选框名称
发件人:
name="paket"
至:
name="paket[]"
和
'paket'=>$request->paket,
至:
'paket' => implode(',',$request->paket`)
这会帮助你:)
<div class="form-group">
<b>Paket</b>
<br/>
<fieldset>
<input type="checkbox" name="paket[]" id="delux" value="Delux"> <label for="">Paket Delux </label>
<input type="checkbox" name="paket[]" id="p1" value="Paket1"> <label for="">Paket 1</label>
<input type="checkbox" name="paket[]" id="p2" value="Paket2"> <label for="">Paket 2</label>
</fieldset>
</div>
public function proses(Request $request)
{
$this->validate($request,[
'file'=>'required|file|image|mimes:jpeg,png,jpg|max:2048',
'makanan'=>'required',
'jenis'=>'required',
'paket'=>'required',
]);
$file = $request->file('file');
$nama_file = time()."_".$file->getClientOriginalName();
//nama folder tempat file diupload
$tujuan_upload = 'image_file';
$file->move($tujuan_upload,$nama_file);
Gambar::create([
'file' =>$nama_file,
'nama_makanan'=>$request->makanan,
'kode_jenis'=>$request->jenis,
'paket'=>json_encode($request->paket),
]);
return redirect('/makanan');
}