2017-02-24 04:45:33 +00:00
|
|
|
// Copyright 2017 The Xorm Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
package xorm
|
|
|
|
|
2019-06-17 05:38:13 +00:00
|
|
|
import "xorm.io/builder"
|
2017-02-24 04:45:33 +00:00
|
|
|
|
|
|
|
// SQL provides raw sql input parameter. When you have a complex SQL statement
|
|
|
|
// and cannot use Where, Id, In and etc. Methods to describe, you can use SQL.
|
2023-10-28 10:59:32 +00:00
|
|
|
func (session *Session) SQL(query any, args ...any) *Session {
|
2017-07-27 05:32:35 +00:00
|
|
|
session.statement.SQL(query, args...)
|
2017-02-24 04:45:33 +00:00
|
|
|
return session
|
|
|
|
}
|
|
|
|
|
|
|
|
// Where provides custom query condition.
|
2023-10-28 10:59:32 +00:00
|
|
|
func (session *Session) Where(query any, args ...any) *Session {
|
2017-07-27 05:32:35 +00:00
|
|
|
session.statement.Where(query, args...)
|
2017-02-24 04:45:33 +00:00
|
|
|
return session
|
|
|
|
}
|
|
|
|
|
|
|
|
// And provides custom query condition.
|
2023-10-28 10:59:32 +00:00
|
|
|
func (session *Session) And(query any, args ...any) *Session {
|
2017-07-27 05:32:35 +00:00
|
|
|
session.statement.And(query, args...)
|
2017-02-24 04:45:33 +00:00
|
|
|
return session
|
|
|
|
}
|
|
|
|
|
|
|
|
// Or provides custom query condition.
|
2023-10-28 10:59:32 +00:00
|
|
|
func (session *Session) Or(query any, args ...any) *Session {
|
2017-07-27 05:32:35 +00:00
|
|
|
session.statement.Or(query, args...)
|
2017-02-24 04:45:33 +00:00
|
|
|
return session
|
|
|
|
}
|
|
|
|
|
|
|
|
// ID provides converting id as a query condition
|
2023-10-28 10:59:32 +00:00
|
|
|
func (session *Session) ID(id any) *Session {
|
2017-07-27 05:32:35 +00:00
|
|
|
session.statement.ID(id)
|
2017-02-24 04:45:33 +00:00
|
|
|
return session
|
|
|
|
}
|
|
|
|
|
|
|
|
// In provides a query string like "id in (1, 2, 3)"
|
2023-10-28 10:59:32 +00:00
|
|
|
func (session *Session) In(column string, args ...any) *Session {
|
2017-07-27 05:32:35 +00:00
|
|
|
session.statement.In(column, args...)
|
2017-02-24 04:45:33 +00:00
|
|
|
return session
|
|
|
|
}
|
|
|
|
|
|
|
|
// NotIn provides a query string like "id in (1, 2, 3)"
|
2023-10-28 10:59:32 +00:00
|
|
|
func (session *Session) NotIn(column string, args ...any) *Session {
|
2017-07-27 05:32:35 +00:00
|
|
|
session.statement.NotIn(column, args...)
|
2017-02-24 04:45:33 +00:00
|
|
|
return session
|
|
|
|
}
|
|
|
|
|
2017-07-24 13:26:14 +00:00
|
|
|
// Conds returns session query conditions except auto bean conditions
|
2017-02-24 04:45:33 +00:00
|
|
|
func (session *Session) Conds() builder.Cond {
|
2020-02-28 12:29:08 +00:00
|
|
|
return session.statement.Conds()
|
2017-02-24 04:45:33 +00:00
|
|
|
}
|