github.com/sharovik/devbot@v1.0.1-0.20240308094637-4a0387c40516/documentation/query-builder.md (about) 1 # The query builder 2 Here you can find the instructions how to use the query builder of the internal dictionary. 3 4 ## Usage 5 Here you can find the basic example of the query builder usage: 6 7 ```go 8 c := container.C.Dictionary.GetNewClient() 9 10 q := new(clients.Query). 11 Select([]interface{}{"events.id", "events.alias", "questions.question"}). 12 From(&database_dto.EventModel). 13 Join(query.Join{ 14 Target: query.Reference{ 15 Table: database_dto.ScenariosModel.GetTableName(), 16 Key: "event_id", 17 }, 18 With: query.Reference{ 19 Table: database_dto.EventModel.GetTableName(), 20 Key: database_dto.EventModel.GetPrimaryKey().Name, 21 }, 22 Condition: "=", 23 }). 24 Join(query.Join{ 25 Target: query.Reference{ 26 Table: database_dto.QuestionsModel.GetTableName(), 27 Key: "scenario_id", 28 }, 29 With: query.Reference{ 30 Table: database_dto.ScenariosModel.GetTableName(), 31 Key: database_dto.ScenariosModel.GetPrimaryKey().Name, 32 }, 33 Condition: "=", 34 }). 35 Where(query.Where{ 36 First: "questions.question", 37 Operator: "<>", 38 Second: "''", 39 }) 40 res, err := c.Execute(q) 41 if err != nil { 42 //do something with error 43 } 44 ``` 45 The example of usage in the event you can find here: [events/eventslist](../events/eventslist)`. 46 47 Another examples of the database query-builder and it's supported functionality [you can find here](https://github.com/sharovik/orm).