2017-11-23 14 views
3

投稿を編集したときにキャンセルされたカテゴリを削除します。私は同期メソッドを使用しますが、その作業はありません。..Laravel 5.5編集後にカテゴリを削除できません

編集ブレイド

<select class="form-control m-select2" id="m_select2_3" name="categories[]" multiple="multiple"> 
    <optgroup label="Kategoriler"> 
    @foreach($categories as $category) 
     <option value="{{$category->id}}" {{ in_array($category->id,$categoriesPost) ? 'selected' : '' }}>{{$category->category_name}} 
    </option> 
    @endforeach 
    </optgroup> 
</select> 

とコントローラ

public function update(StoreBlogPost $request, $id){ 

     $post = Post::find($id); 

     $post->title = $request->title; 
     $post->caption = $request->caption; 
     $post->content = $request->input('content'); 

     $post->save(); 
     $post->categories()->sync($request->categories, false); 

     return redirect()->route('posts.index'); 
    } 

任意のアドバイスはありますか?

答えて

1

syncの第2パラメータをtrueに設定する必要があります。コードから

/** 
* Sync the intermediate tables with a list of IDs or collection of models. 
* 
* @param \Illuminate\Database\Eloquent\Collection|\Illuminate\Support\Collection|array $ids 
* @param bool $detaching 
* @return array 
*/ 
public function sync($ids, $detaching = true) 
{ 
    .... 
} 

それは意味し、$idsには存在しませんでしたIDSが分離されます。

関連する問題