Php 以多个属性为主的Laravel 5.1同步方法
我正在使用Laravel5.1中的sync(多对多)方法向数据库中的用户添加关系信息 我的桌子是空的 用户-:Php 以多个属性为主的Laravel 5.1同步方法,php,postgresql,laravel-5.1,Php,Postgresql,Laravel 5.1,我正在使用Laravel5.1中的sync(多对多)方法向数据库中的用户添加关系信息 我的桌子是空的 用户-: id(主键) 名字 电子邮件 标签-: id(主键) 名字 鼻涕虫 用户\u标记\u映射-: 用户id 标签号 作用 计数 我在两者之间定义的关系是多对多的关系 return $this->belongsToMany( tags::class, 'user_tags_mapping', 'user_id', 'tags_id')->
- id(主键)
- 名字
- 电子邮件
- id(主键)
- 名字
- 鼻涕虫
- 用户id
- 标签号
- 作用
- 计数
return $this->belongsToMany(
tags::class, 'user_tags_mapping',
'user_id', 'tags_id')->withPivot('function', 'count');
现在我使用sync在这个表中插入值,如下所示
$user->tags()->sync([tags_id => [function, count]]);
现在我的问题是,当我使用相同的标签id和不同的功能时,同步会分离旧的值,因为标签id已经存在
有没有一种方法可以让我使用tags_id和function两者作为参数来同步到function为字符串值的表中
我已经在迁移脚本中将所有三个参数都定义为primary,但仍然不起作用。我认为可以使用带where子句的attach解决这种情况。。虽然我觉得这不是一种吸引人的方式。