当前位置:首页 > PHP教程 > php应用 > 列表

详解PHP laravel中多对多关系的代码实例

发布:smiling 来源: PHP粉丝网  添加日期:2018-08-06 17:39:42 浏览: 评论:0 

数据表之间是纵横交叉、相互关联的,laravel的一对一,一对多比较好理解,官网介绍滴很详细了,在此我就不赘述啦,重点我记下多对多的关系。

一种常见的关联关系是多对多,即表A的某条记录通过中间表C与表B的多条记录关联,反之亦然。比如一个用户有多种角色,反之一个角色对应多个用户。

为了测试该关联关系,我们沿用官网的用户角色示例:

需要三张数据表:users、roles 和 role_user,role_user 表按照关联模型名的字母顺序命名(这里role_user是中间表),并且包含 user_id 和 role_id两个列。

多对多关联通过编写返回 belongsToMany 方法返回结果的方法来定义。废话不说多,直接上数据结构:

1:创建一个角色表roles,并添加一些初始化数据:

  1. SET FOREIGN_KEY_CHECKS=0; 
  2.  
  3. -- ---------------------------- 
  4.  
  5. -- Table structureforusers 
  6.  
  7. -- ---------------------------- 
  8.  
  9. DROP TABLE IF EXISTS `users`; 
  10.  
  11. CREATE TABLE `users` ( 
  12.  
  13. `id` int(10) unsigned NOT NULL AUTO_INCREMENT, 
  14.  
  15. `namevarchar(255) COLLATE utf8_unicode_ci NOT NULL
  16.  
  17. `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL
  18.  
  19. `passwordvarchar(60) COLLATE utf8_unicode_ci NOT NULL
  20.  
  21. `remember_token` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL
  22.  
  23. `created_at` timestamp NOT NULL DEFAULT

    Tags: 实例 代码

    分享到: