這篇文章帶給大家的內容是關於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即可原因是下圖
將命名風格轉換一下即可
最後改變命名風格後再執行測試一下。
取得資料(包含關聯資料都能取得成功)。
以上是thinkphp5中belongsToMany() 模組名稱的命名問題解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!