id | title |
---|---|
predicates |
Predicates |
- 布尔:
- =, !=
- 数值:
- =, !=, >, <, >=, <=,
- IN, NOT IN
- 时间:
- =, !=, >, <, >=, <=
- IN, NOT IN
- 字符:
- =, !=, >, <, >=, <=
- IN, NOT IN
- Contains, HasPrefix, HasSuffix
- ContainsFold, EqualFold (SQL specific)
- 可选 字段:
- IsNil, NotNil
-
HasEdge. 满足边的实体,例如:
Pet
类型定义了owner
边,要查询满足该边(有主人的宠物)的实体:client.Pet. Query(). Where(user.HasOwner()). All(ctx)
-
HasEdgeWith. 满足边及其条件的实体列表,例如,在满足上一个例子的情况下,还要求主人的姓名为
a8m
:client.Pet. Query(). Where(user.HasOwnerWith(user.Name("a8m"))). All(ctx)
client.Pet.
Query().
Where(user.Not(user.NameHasPrefix("Ari"))).
All(ctx)
client.Pet.
Query().
Where(
user.Or(
user.HasOwner(),
user.Not(user.HasFriends()),
)
).
All(ctx)
client.Pet.
Query().
Where(
user.And(
user.HasOwner(),
user.Not(user.HasFriends()),
)
).
All(ctx)
自定义条件,可以让你自行书写满足所使用方言的查询条件。
pets := client.Pet.
Query().
Where(predicate.Pet(func(s *sql.Selector) {
s.Where(sql.InInts(pet.OwnerColumn, 1, 2, 3))
})).
AllX(ctx)