2017-02-20 4 views
0

私は、次の表があります。ピボットテーブルからレコードを削除/追加する方法は?

  1. ユーザー
  2. user_friends

users - ID、ユーザ名、電子メール、など。

user_friends - たとえば

ためのuser_id、friend_idを、

私のユーザモデルとの関係:

public function friends() 
    { 
     return $this->belongsToMany('App\User', 'user_friends', 'user_id', 'friend_id'); 
    } 

どのようにユーザーを友だちに追加したり、ユーザーから友人を削除したりできますか?私はそれのための新しいモデルを作成する必要がありますか?

友人を追加 - あなたはこの試してみてください>user_friends

答えて

0

から特定の友人(レコード)を削除する - 友人を削除>user_friends

に新しいレコードを追加します。

$user->friend()->sync(['asd', 'asd1', 'asd2']); 

を削除:

$user->friend()->detach(); 

または追加する新しいアイテム:シンクと他の人の間で異なる何

$user->friend()->attach(['asd', 'asd1', 'asd2']); 
+0

?新しい値を挿入する前に値が存在するかどうかを確認することは可能ですか? – TheUnreal

+0

Syncは、すべての揚げ物アイテムを削除し、配列に与えたものを添付します。 detachは単にすべてまたは特定のアイテムを削除し、attachは単にオブジェクトの友人関係に新しいアイテムを追加します。 – Buglinjo

+0

ここにその良い文書があります: https://laravel.com/docs/5.4/eloquent-relationships#updating-many-to-many-relationships – Buglinjo

関連する問題