2017-02-20 73 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

删除好友 - >从user_friends

回答

0

删除特定的朋友(记录),你应该试试这个:

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

或删除:

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

或新增项目:

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

什么是同步和其他人之间有什么不同?并且可以在插入新值之前检查值是否存在? – TheUnreal

+0

同步删除所有油炸物品,并附上你给它的数组。分离只是简单地删除所有或特定的项目,并附加简单地添加新的项目对象的朋友关系。 – Buglinjo

+0

你可以找到的,这里有一个好的文档: https://laravel.com/docs/5.4/eloquent-relationships#updating-many-to-many-relationships – Buglinjo

相关问题