Rumah > pembangunan bahagian belakang > tutorial php > thinkphp5中belongsToMany() 模块名称的命名问题解决

thinkphp5中belongsToMany() 模块名称的命名问题解决

不言
Lepaskan: 2023-04-03 18:14:01
asal
5377 orang telah melayarinya

本篇文章给大家带来的内容是关于thinkphp5中belongsToMany() 模块名称的命名问题解决,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

最近在用TP5 开发CRM后台管理系统中遇到一个问题  就是在关联查询时(多对多)用到belongsToMany函数提示model不存在,下面来看一下具体问题。

函数介绍

这里写图片描述

我在项目中的用法
这里写图片描述
再来看一下我再TP5 中的model层
这里写图片描述
f_role 是关联模型  
ref_user_role 是中间表(多对多关系要有中间表)
role_id 外键名  
user_id 是f_user的主键

这种写法完全是依照手册去编写的理论上说是完全没有任何问题,但是运行的时候去报错:
这里写图片描述
提示FUser模块不存在,但是我模块名是f_user这种命名方法。
原因是模块名的命名规则有问题。

解决办法

后来做短点调试找到问题原因:
需要修改thinkphp/think/model.php  中belongsToMany方法中的parseModel方法需要修改
这里写图片描述
这里写图片描述
这里写图片描述

将图片中的1改为 0即可原因是下图
这里写图片描述
将命名风格转变一下即可

最后改变命名风格后再运行测试一下。
这里写图片描述
获取数据(包括关联数据都能获取成功)。



Atas ialah kandungan terperinci thinkphp5中belongsToMany() 模块名称的命名问题解决. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan