記錄一個gorm發生全局查詢條件的問題

 

 

 

正常情況下在使用gorm做修改操作時,會使用omit過濾一些字段,比如上圖中修改的時候就不應該修改創建時間和創建人字段的值。

關鍵點在於上圖如果omit中沒有增加id字段,會造成gorm的全局查詢條件問題,

簡單來講在下次查詢的時候如果查詢id=1的數據時,gorm會自動把上圖中的查詢條件拼接上去

會把原本的sql

select * from order where id= 1

改成

select * from order where (id=1) and id=10

結果則是查詢不到數據,有嘗試查看gorm的源碼,找到爲什麼會這樣的原因,但是因爲時間有限,沒有找到原因。

如果你知道原因,歡迎評論

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章