Insert Checkbox ke database - laravel

Pengen input checkbox ke laravel  
<div class="row form-group">
                            <div class="col col-md-3"><label class=" form-control-label">Genre Film</label>
                            </div>                           
                            <div class="col col-md-9">
                            @foreach($genre as $gr)
                              <div class="form-check">
                                <div class="checkbox">
                                <label for="checkbox1" class="form-check-label ">
                                  <input type="checkbox" name="genre[]" value="{{ $gr->nama_genre }}"> {{ $gr->nama_genre }}
                                </label>
                                </div>
                                </div>
                                @endforeach
                                </div>
                          </div>
tampilannya itu gini
image.pngimage.png


nah untuk controllernya 
 
 public function tambah_movlist(Request $request)
    {
        
        $request->validate([
            'poster'      => 'mimes: jpg,png,jpeg'
        ]);
            
        if ($request->file('poster')) {
            $poster = $request->file('poster')->store('poster_film', 'public');
        }
        
        $movielist = new Movielist();
        $movielist->poster = $poster;
        $movielist->judul =$request->judul;
        $movielist->tahun =$request->tahun;
        $movielist->genre =array_keys($request->genre);
        $movielist->rating =$request->rating;
        $movielist->biaya_produksi =$request->b_produk;
        $movielist->pendapatan = $request->pendapatan;
        $movielist->sinopsis =$request->sinopsis;
        $movielist->save();
    
        return redirect('/adminmovielist');
    } 

sewaktu diinput jadinya 
'Array to string conversion'

 
avatar whreq16

@whreq16

2 Kontribusi 2 Poin


Jawaban

Mungkin bisa di coba seperti ini :
 
    public function tambah_movlist(Request $request)
    {
        
        $request->validate([
            'poster'      => 'mimes: jpg,png,jpeg'
        ]);
            
        if ($request->file('poster')) {
            $poster = $request->file('poster')->store('poster_film', 'public');
        }
        
        $movielist = new Movielist();
        $movielist->poster = $poster;
        $movielist->judul =$request->judul;
        $movielist->tahun =$request->tahun;
         
        //Menggabungkan array dengan tanda koma menjadi string, nanti hasilnya :  Action,Adventure,Animation
        $genre = implode(",", $request->genre);
        $movielist->genre = $genre;
        $movielist->rating =$request->rating;
        $movielist->biaya_produksi =$request->b_produk;
        $movielist->pendapatan = $request->pendapatan;
        $movielist->sinopsis =$request->sinopsis;
        $movielist->save();
    
        return redirect('/adminmovielist');
    } 

Untuk menampilkannya, tinggal nanti di explode saja. Fungsi explode akan meng-konversi string menjadi array,

Silahkan baca referensinya disini : https://rachmat.id/explode-implode-php
avatar ahanafi

@ahanafi

614 Kontribusi 357 Poin


Login untuk gabung berdiskusi