如何将复选框输入数据库

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');
    }