Query Builder Reference

Entry points

FunctionSignatureReturns
orm:'from(modelType)(typedesc<anydata>)QueryBuilder
orm:fromModel(modelName)(string)QueryBuilder
db.'from(modelType)(typedesc<anydata>)ExecutingQueryBuilder

Modifiers

MethodParametersReturns
'tablestring tableNamebuilder
'whereWhereInput whereInputbuilder
orderByOrderByInput orderByInputbuilder
skipint valuebuilder
takeint valuebuilder
'selectSelectInput selectInputbuilder
includeIncludeInput includeInputbuilder

Terminal methods (executing builder)

MethodParametersReturns
findMany()-`record []
findFirst()-`record ?
findUnique()-`record ?
count()-`int
create()map<anydata> data`record
createMany()map<anydata>[] dataList`record []
update()map<anydata> data`record
updateMany()map<anydata> data`int
upsert()map<anydata> createData, map<anydata> updateData`sql:ExecutionResult
delete()-`record
deleteMany()-`int

Query operation constants

Constant
FIND_MANY
FIND_UNIQUE
FIND_FIRST
CREATE
CREATE_MANY
UPDATE
UPDATE_MANY
UPSERT
DELETE
DELETE_MANY
COUNT
AGGREGATE

Example chain

ballerina
var rows = check db.'from(User)
    .'where({status: {equals: "ACTIVE"}})
    .orderBy({createdAt: orm:DESC})
    .take(20)
    .findMany();