其他分享
首页 > 其他分享> > TP5的多对多关联的问题

TP5的多对多关联的问题

作者:互联网

 

 TP5的多对多关联

在AModel内建立与用户的多对多关联

controller内查找数据

然后在前端调用模板的循环方法输出

 

 

 循环内调用多对多方法users

结果提示

 

一开始以为是因为数据不同步,中间表有的数据A表没有,或者A表有的数据中间表没有。所以

1.删了测试数据还是一样的问题,

2.随后又尝试重新写belongstomany方法,因为刚开始的中间表参数没加前缀,还是报错,

3.查看中间表model,没继承pivot,还是报错,

ok,第二天再看

第二天重走一遍还是错,无奈只能看框加底层怎么写的

 

 发现报错的属性id是从这边开始出现的

 

 

 

 

 

 直接从belongsToMany方法跳转到BelongsToMany.php文件找到157行

 

 第155行会自动获取A表的主键默认是id,但是重点来了,A表是没有id这个字段的

 

 主键是a_id。这不是坑爹吗

在Amodel里设置

 

问题解决。估计TP5的作者也不会想到主键不是id的情况吧。

最后画张图

 

 其中的关联键A的id和user的id,没设置的话默认都是id,最后说一句,定义model不要偷懒一定要proteced $pk,主键不要用奇奇怪怪的东西 

标签:id,问题,TP5,表有,报错,关联,主键
来源: https://www.cnblogs.com/caijiqi190731/p/16309426.html