thinkphp5 同時使用hasWhere和where導致的關聯主鍵字段名沖突的問題


thinkphp5使用同時使用hasWhere和where,‘order_code’就是兩個表關聯的主鍵,兩個表都存在‘order_code’

運行

Order::hasWhere('orderstate', $where1)->with('user,orderstate')->where($where)->count();

出現以下情況:

Integrity constraint violation: 1052 Column 'order_code' in where clause is ambiguous

解決方法:

在字段面前加上模型名(Order.)稱或者數據庫名稱(xxz_order.)。

$where['Order.order_code'] = ‘202010311830’;

* 如果沒有使用hasWhere的話字段名前不能加模型名(Order.), 但可以加上數據庫名稱(xxz_order.)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM