功能描述
对于每一个数据模型,低代码平台提供了一组通用的方法来操作数据模型的数据。
查看模型方法描述
- 进入低代码应用设计态 -> 数据模型 页面
- 单击 查看 按钮,进入数据模型查看页面
- 单击 模型方法 标签页,进入方法描述页面
目前共提供8个方法,其中标识字段为方法名。点击入参旁边的问号,可以看到具体传参格式。
模型方法举例
下面以人员信息模型为例,展示调用批量新增、批量查询方法的入参
调用批量新增方法
入参
{
"modelCode": "person_info",
"appId": "{{appId}}",
"params": {
"records": [
{
"name": "李晓楠",
"occupation": "软件开发工程师",
"company_id": "1SqMK0wSMoDkxsbt0jl2iSgiEiE"
},
{
"name": "张小贝",
"occupation": "软件测试工程师",
"company_id": "1SqMK0wSMoDkxsbt0jl2iSgiEiE"
}
]
}
}
modelCode的值为数据模型唯一标识,在【数据模型】 -> 【基本信息】中查看;
appId:在自定义页面中或自定义接口中调用时,会自动设置,无需填写。
出参
{"ids":[]}
返回新增数据的ID列表
调用批量查询
入参
{
"modelCode": "person_info",
"appId": "{{appId}}",
"params": {
"page": {
"pageNum": 1,
"pageSize": 10
},
"where": {
"rel": "AND",
"cond": [
{
"key": "name",
"condOp": "EQ",
"values": [
"张潇潇"
]
},
{
"key": "occupation",
"condOp": "LIKE",
"values": [
"软件开发"
]
}
]
},
"orders": [
{
"orderBy": "age",
"orderType": "asc"
}
]
}
}
modelCode的值为数据模型唯一标识,在【数据模型】 -> 【基本信息】中查看;
appId:在自定义页面中或自定义接口中调用时,会自动设置,无需填写。
出参
{
"data": {
"records": [
{
"name": "张潇潇",
"occupation": "软件开发工程师",
"company_id": {
"company_name": "尚东集团",
"company_code": "X0000X3",
"id": "36e6ed04830d4033a14b1cce40f5e69c",
"#show": "尚东集团 X0000X3"
},
"age": 21,
"id": "1dc824ff45e946ad8bfd4279f3a4bf48",
"create_time": 1712111306090,
"update_time": 1712113740753,
"create_by": {
"id": "xxx",
"user_name": "user1",
"#show": "user1"
},
"update_by": {
"id": "xxx",
"user_name": "user1",
"#show": "user1"
},
"organ_id": null
}
],
"pageInfo": {
"total": 1,
"pageSize": 10,
"pageNum": 1
}
},
"success": true,
"code": 0,
"msg": "操作成功"
}
使用模型方法
在自定义页面使用模型方法
表格控件中绑定数据模型后,页面运行时,会自动调用模型的批量查询方法,查看详情时,会自动调用模型的单条查询方法。类似的,表单组件绑定数据模型后,会自动调用模型的更新方法。
在自定义接口使用模型方法
简单查询和复杂查询
过滤操作符
操作符 | 操作符名称 |
---|---|
EQ | 等于 |
NEQ | 不等于 |
IN | 等于任意一个 |
NIN | 不等于任意一个 |
LIKE_ANY | 包含任意一个 |
LIKE | 包含 |
UNLIKE | 不包含 |
NOT_EMPTY | 不为空 |
EMPTY | 为空 |
GT | 大于 |
GTE | 大于等于 |
LT | 小于 |
LTE | 小于等于 |
RANGE | 选择范围 |
DYNAMIC | 动态筛选,只用于时间字段 |
LIKE_ALL | 同时包含 |
字段类型与查询条件对应关系
不同的字段类型支持的查询条件不一致,具体如下:
- 数字类型:EQ、NEQ、GT、GTE、LT、LTE、RANGE、NOT_EMPTY、EMPTY
- 单行文本类型:EQ、NEQ、IN、NIN、LIKE_ANY、LIKE、UNLIKE、NOT_EMPTY、EMPTY
- 多行文本类型:LIKE、UNLIKE、NOT_EMPTY、EMPTY
- 关联关系:EQ、NEQ、IN、NIN、NOT_EMPTY、EMPTY
- 布尔:EQ、NEQ、NOT_EMPTY、EMPTY
- 数组:NOT_EMPTY、EMPTY
- 日期时间:GT、GTE、LT、LTE、RANGE、EQ、NEQ、NOT_EMPTY、EMPTY、DYNAMIC
简单查询
简答查询时,查询参数where字段中的值平铺展示;如下:
{
"where": {
"rel": "AND",
"cond": [
{
"key": "name",
"condOp": "EQ",
"values": [
"张潇潇"
]
},
{
"key": "occupation",
"condOp": "LIKE",
"values": [
"工程师"
]
}
]
}
}
复杂查询
数据模型查询方法支持较复杂的查询,查询参数where字段中的值可嵌套显示,如下:
{
"where": {
"rel": "OR",
"cond": [
{
"key": "name",
"condOp": "EQ",
"values": [
"张潇潇"
]
},
{
"rel": "AND",
"cond": [
{
"key": "occupation",
"condOp": "LIKE",
"values": [
"软件开发工程师"
]
},
{
"key": "age",
"condOp": "LTE",
"values": [
35
]
}
]
},
{
"key": "company_id",
"condOp": "EQ",
"values": [
"36e6ed04830d4033a14b1cce40f5e69c"
]
}
]
}
}