2017-04-16 18 views
0

を確認します私はここでLaravel 5.2:チェックボックスが

をチェックして、チェックボックスを取得しようとしています私の見解である

<div class="form-group"> 
       {!! Form::label('extra_services', 'Add extra services') !!} 
       <div class="form-group"> 
        <?php var_dump (array($temp->extra_services))?> 
        @foreach($extra as $ext) 
         <div class="checkbox"> 
          <label> 
           {!! Form::hidden('extra_services', 0) !!} 
           <input type="checkbox" name="extra_services[]" value="{!! $ext->id !!}" 
             {!! in_array($ext->id, array($temp->extra_services)) ? 'checked' : '' !!} > 
           {!! $ext->title !!} 
          </label> 
         </div> 
        @endforeach 
       </div> 
      </div> 

編集 ここに私の編集コントローラ

public function edit($id) 
    { 
     $temp = Template::query()->findOrFail($id); 
     $extra = TempExtraService::all(); 
     return view('admin.templates.tempDetails.edit', compact('temp', 'extra')); 
    } 

はここです私の更新コントローラ

私は私の $temp->extra_servicesをダンプする際

は私がarray(1) { [0]=> string(3) "1,2" }

を得たが、ビューの最初のチェックボックスにのみ第二をチェックし、それはあまりにもチェックすべきではありません。

私はここで間違っています。

+0

質問が私の間違いがどこに記述してくださいか理解しているとは限りません。 –

+0

さらに詳しい情報を追加する必要があります。 $ temp-> extra_servicesの内容は何ですか? – Jason

+0

私は私の質問で言及して '私は私の$ temp - > extra_services私は配列(1){[0] => string(3)" 1,2 "}'とにかくコントローラを質問に追加する –

答えて

0

($ temp-> extra_services)を実行すると、期待通りにアレイが作成されません。

var_dump(array($temp->extra_services)); // shows ["1,2"] 

は何が欲しいのはあなたの in_arrayにカンマで区切られた文字列

var_dump(explode(",", $temp->extra_services)); // Show [1,2] 

使用この第二の1から配列を作成することで、あなたが行ってもいいはずです。

+0

はい、これは私のために見つけたおかげで感謝 –