This repository has been archived on 2022-04-14. You can view files and clone it, but cannot push or open issues or pull requests.
manual-zh-CN/chapter-05/2.overrides.md

1.2 KiB
Raw Permalink Blame History

临时开关方法

  • NoAutoTime()

如果此方法执行则此次生成的语句中Created和Updated字段将不自动赋值为当前时间

  • NoCache()

如果此方法执行,则此次生成的语句则在非缓存模式下执行

  • NoAutoCondition()

禁用自动根据结构体中的值来生成条件

engine.Where("name = ?", "lunny").Get(&User{Id:1})
// SELECT * FROM user where name='lunny' AND id = 1 LIMIT 1
engine.Where("name = ?", "lunny").NoAutoCondition().Get(&User{Id:1})
// SELECT * FROM user where name='lunny' LIMIT 1
  • UseBool(...string)

当从一个struct来生成查询条件或更新字段时xorm会判断struct的field是否为0,"",nil如果为以上则不当做查询条件或者更新内容。因为bool类型只有true和false两种值因此默认所有bool类型不会作为查询条件或者更新字段。如果可以使用此方法如果默认不传参数则所有的bool字段都将会被使用如果参数不为空则参数中指定的为字段名则这些字段对应的bool值将被使用。

  • NoCascade()

是否自动关联查询field中的数据如果struct的field也是一个struct并且映射为某个Id则可以在查询时自动调用Get方法查询出对应的数据。