ACL中数据迁移问题

再看了Setup Roles And Permissions该视频后有几个疑惑,由于一直无法收到确认邮件故无法再视频下留言。

我的问题:

第一个:

$table->foreign('user_id') ->references('id')->on('users') ->onDelete('cascade'); <br></br>

文档中解释是为约束的“on delete”和“on update”属性指定期望的动作,我猜测是为了在关联模型中删除某条记录后自动删除关联表中的对应记录,不是很明白?

第二个:

在定义ACL四张表时如果不添加外键约束,是否影响后续操作?

第三个:

在定义ACL四张表时,添加$table->primary(['role_id', 'permission_id']);文档解释是添加混合索引,是否可以理解为两个列组成的主键索引;而$table->primary('id');是添加主键索引,其是否默认具有自增属性,相反如果定义了$table->increments('id');是否默认id就是主键索引?

1、外键约束,如果有删父表,有级联关系会删掉子表关联的数据,没有级联关系会报错。
2、外键约束在一定程度上避免了查询错误的,创建可以照常创建,不过不建议你更改
3、primary只是主键,没有自增属性,自增必然是主键。

JellyBool
修改的评论也不能少于六个字哦!
AdamLee李镇东
修改的评论也不能少于六个字哦!