In Postgres in Go, how can I make query parameters optional?
In this example status is an optional condition. If no status is passed all rows from table records will be fetched.
How to make query parameter &d.Status an optional
type QueryParams struct {
Status string `json:"status"`
}
func (r repo) GetRecords(d *QueryParams) ([]*Records, error) {
statusQuery := ""
if d.Status != "" {
statusQuery = " where status = $1 "
}
query := "select id, title, status from records " + statusQuery
rows, err := r.db.Query(query, &d.Status)
}