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.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

3 Kontribusi 2 Poin

Diperbarui 3 tahun yang lalu

Tanggapan

Coba convert array nya ke string

1 Jawaban:

<div>Mungkin bisa di coba seperti ini :<br>&nbsp;</div><pre> public function tambah_movlist(Request $request) {

    $request-&amp;gt;validate([
        &#039;poster&#039;      =&amp;gt; &#039;mimes: jpg,png,jpeg&#039;
    ]);
        
    if ($request-&amp;gt;file(&#039;poster&#039;)) {
        $poster = $request-&amp;gt;file(&#039;poster&#039;)-&amp;gt;store(&#039;poster_film&#039;, &#039;public&#039;);
    }
    
    $movielist = new Movielist();
    $movielist-&amp;gt;poster = $poster;
    $movielist-&amp;gt;judul =$request-&amp;gt;judul;
    $movielist-&amp;gt;tahun =$request-&amp;gt;tahun;
     
    //Menggabungkan array dengan tanda koma menjadi string, nanti hasilnya :  Action,Adventure,Animation
    $genre = implode(&quot;,&quot;, $request-&amp;gt;genre);
    $movielist-&amp;gt;genre = $genre;
    $movielist-&amp;gt;rating =$request-&amp;gt;rating;
    $movielist-&amp;gt;biaya_produksi =$request-&amp;gt;b_produk;
    $movielist-&amp;gt;pendapatan = $request-&amp;gt;pendapatan;
    $movielist-&amp;gt;sinopsis =$request-&amp;gt;sinopsis;
    $movielist-&amp;gt;save();

    return redirect(&#039;/adminmovielist&#039;);
} &lt;/pre&gt;&lt;div&gt;&lt;br&gt;Untuk menampilkannya, tinggal nanti di explode saja. Fungsi explode akan meng-konversi string menjadi array,&lt;br&gt;&lt;br&gt;Silahkan baca referensinya disini : &lt;a href=&quot;https://rachmat.id/explode-implode-php&quot;&gt;https://rachmat.id/explode-implode-php&lt;/a&gt;&lt;/div&gt;
avatar ahanafi
@ahanafi

815 Kontribusi 552 Poin

Dipost 3 tahun yang lalu

Login untuk ikut Jawaban