2017-03-16 49 views
1

insertData控制器如何同步上laravel

public function insertArticle(Request $request) 
      { 
       $article = new Article(); 
       $article->title = $request['title']; 
       $article->content = $request['content']; 

       //code to sync tags for this article 

       $article->save() 
       return redirect()->back(); 
      } 

的標籤位於另一個表中包含idname稱爲tags標籤。我通過使用數據透視表article_tag連接tags表到articles表,其中包含article_idtag_id條目,並且我已經建立關係以及數據透視表中的外鍵。我所希望做的是一定article同步tags當我需要更新它

回答

0

使用該sync()方法:

public function insertArticle(Request $request) 
{ 
    $article = new Article(); 
    $article->title = $request['title']; 
    $article->content = $request['content']; 
    $article->save(); 

    $article->tags()->sync($tagsIdsArray); 

    return redirect()->back(); 
} 

同步方法接受的ID上放置的數組中間表。任何不在給定數組中的ID都將從中間表中刪除。所以,在這之後的操作完成後,僅給定數組中的ID將存在於中間表

+0

但我在哪裏可以定義$ tagsIdsArray –

+0

@ArditMata好了,如果你要同步的標籤,你必須有一個某處的標籤列表。如果在表單中包含該列表,只需將其解析爲控制器方法即可。 –