m := g.DB().Model("auth")
m.Where("status", g.Slice{}).Where("uid", 1).OmitEmpty().All()
// SELECT * FROM `auth` WHERE `uid`=1
db.Model("user").Where("u.uid=1",).One()
db.Model("user").Where("u.uid", 1).One()
db.Model("user").Where("u.uid=?", 1).One()
请问u.uid=1中的u是别名吗还是?
请问 dto 在where 中的使用用途该如何使用呢
```
// UserForDao is the golang structure of table user for DAO operations like Where/Data.
type User struct {
g.Meta `orm:"dto:true"`
Id interface{} // 用户ID
Passport interface{} // 用户账号
Password interface{} // 用户密码
Nickname interface{} // 用户昵称
CreateAt *gtime.Time // 创建时间
UpdateAt *gtime.Time // 更新时间
}
```
自动生成的DTO代码如上
调用代码如下
```
dao.User.Ctx(ctx).Where(dto.User{Nickname: in.Nickname}).Scan(&user)
```
此时生成的sql如下
SELECT `id`,`passport`,`password`,`nickname`,`create_at`,`update_at` FROM `user` WHERE `id` IS NULL AND `passport` IS NULL AND `password` IS NULL AND `nickname`=? AND `create_at` IS NULL AND `update_at` IS NULL LIMIT 1
未填充的字段 会搜索为NULL
此时是否有可选项 如未填充字段则不搜索
或者是否有DTO完整的用法案例解说呢
可以先执行两个OR再执行一个AND吗?类似这样:
SELECT TNAME, DNAME, SAL
FROM TEACHER
WHERE (DNAME='计算机' OR DNAME='生物')
AND SAL>1000
ORDER BY SAL