用户表和角色表,多对多关联,一个用户有多个角色,一个角色属于多个用户

添加多对多关联 attach:

给1号用户添加1号角色,并把关联表的column字段赋值为$value,后边的数组需要的时候再添加

$user = App\User::find(1);
$user->roles()->attach(1,['column'=>$value]);

attach之后,1号用户关联的角色就是1号角色

所以,attach适合添加关联

同步多对多关联 sync:

把1号用户关联的角色同步为2,3号角色,并把关联表2号角色的column字段赋值为$value

$user = App\User::find(1);
$user->roles()->sync([2=>['column'=>$value],3,4]);

sync之后,1号用户关联的角色就是2,3,4号角色,因为1号角色不在sync方法中,同步时1号角色的关联会解除

所以,sync适合更新关联和添加关联

删除多对多关联 detach:

删除一号用户的$roleId的角色,

$user = App\User::find(1);
$user->roles()->detach($roleId);

$roleId为2时,删除1号用户的2号角色,1号用户关联的角色还剩下3,4号角色

$roleId为空时,删除1号用户的所有角色,1号用户关联的角色都被删除

$roleId也可以为数组[2,3],删除数组内的指定角色,1号用户关联的角色还剩下4号角色

所以,detach适合删除关联

原文:https://blog.csdn.net/qq_23000373/article/details/81121533

最新文章

  1. 免费公开课,讲解强大的文档集成组件Aspose,现在可报名
  2. 如何给frame标签的src属性以及a标签的href属性自动设值
  3. Beennan的内嵌汇编指导(译)Brennan's Guide to Inline Assembly
  4. redis学习之二from github
  5. 常用JS正则表达式
  6. Tomcat打包时多项目共享jar和精确指定jar版本
  7. gulp.spritesmith修改px为rem单位
  8. 前端判断用户请求是PC还是移动端
  9. LinearGradient线性渲染
  10. ZSTU OJ 3999 零基础学算法---邻接表
  11. java http 分段下载
  12. 与众不同 windows phone (14) - Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成
  13. 使用Json实体类构建菜单数据
  14. ReentrantLock实现原理及源码分析
  15. 对 响应数据写在config文件的再次优化
  16. 201521123090《Java程序设计》第12周学习总结
  17. foreach循环中为什么不要进行remove/add操作
  18. JDBC结果集rs.next()注意事项
  19. 《JAVA程序设计》_第七周学习总结
  20. Python 属性描述符和属性的查找过程

热门文章

  1. Python 爬虫七 Scrapy
  2. 在Github和oschina上搭建自己的博客网站
  3. Spring的常用工具类
  4. javascript常用函数封装——运动、cookie、ajax、获取行内样式兼容写法、拖拽
  5. 操作dom影响性能的原因
  6. Solr创建Core的两种方法
  7. SQL Server - GO
  8. Euclideanloss_layer层解析
  9. ADO中最重要的对象有三个:Connection、Recordset和Command
  10. codeforces 416div.2