1. 程式人生 > >xorm中的幾個坑

xorm中的幾個坑

專案中使用的是xorm,雖然用了很順手了,可是還是會遇到一些坑,這裡紀錄一些。

結構體自動忽略空欄位

在xorm中,結構體會自動忽略空欄位(或則說預設值,比如int 的0 ,string的""),這個時候,怎麼解決呢?
把結構體中的欄位,提到where語句的條件中,比如:

orm.Get(&User{Name:""}) //獲取Name為空的使用者
可以改為
orm.Where("name = ?","").Get(&User{})

update時指定主鍵

update如果不指定主鍵,會把全表更新,需要明確指定主鍵,如下

orm.Id(id).Update(&User{Name:"name"})