thinkphp5中belongsToMany() 模組名稱的命名問題解決

不言
發布: 2023-04-03 18:14:01
原創
5332 人瀏覽過

這篇文章帶給大家的內容是關於thinkphp5中belongsToMany() 模組名稱的命名問題解決,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

最近在用TP5 開發CRM後台管理系統中遇到一個問題  就是在關聯查詢時(多對多)用到belongsToMany函數提示model不存在,下面來看一下具體問題。

函數介紹

thinkphp5中belongsToMany() 模組名稱的命名問題解決

我在專案中的用法
thinkphp5中belongsToMany() 模組名稱的命名問題解決
再來看我再TP5 中的model層
thinkphp5中belongsToMany() 模組名稱的命名問題解決
f_role 是關聯模型 
ref_user_role 是中間表(多對多關係要有中間表)
role_id 外鍵名稱 
#user_id 是f_user的主鍵

這種寫法完全是按照手冊去寫的理論上說是完全沒有任何問題,但是運行的時候去報錯:
thinkphp5中belongsToMany() 模組名稱的命名問題解決
提示FUser模組不存在,但是我模組名是f_user這種命名方法。
原因是模組名的命名規則有問題。

解決方法

後來做短點偵錯找到問題原因:
需要修改thinkphp/think/model.php  中belongsToMany方法中的parseModel方法需要修改
thinkphp5中belongsToMany() 模組名稱的命名問題解決
thinkphp5中belongsToMany() 模組名稱的命名問題解決
thinkphp5中belongsToMany() 模組名稱的命名問題解決

#將圖片中的1改為0即可原因是下圖
thinkphp5中belongsToMany() 模組名稱的命名問題解決
將命名風格轉換一下即可

最後改變命名風格後再執行測試一下。
thinkphp5中belongsToMany() 模組名稱的命名問題解決
取得資料(包含關聯資料都能取得成功)。



#

以上是thinkphp5中belongsToMany() 模組名稱的命名問題解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板