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

來源:互聯網
上載者:User

本篇文章給大家帶來的內容是關於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即可原因是

將命名風格轉變一下即可

最後改變命名風格後再運行測試一下。

擷取資料(包括關聯資料都能擷取成功)。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.