mirror of
https://github.com/nocobase/nocobase
synced 2024-11-15 14:56:00 +00:00
docs: update doc
This commit is contained in:
parent
90b5673b73
commit
fb1083edbb
@ -43,6 +43,77 @@ toc: menu
|
|||||||
- empty
|
- empty
|
||||||
- notEmpty
|
- notEmpty
|
||||||
|
|
||||||
|
多选字段以什么类型存储还有待商榷,可能的思路有两个:
|
||||||
|
|
||||||
|
直接用 JSON 类型,是 Attribute 的字段:
|
||||||
|
|
||||||
|
优点:不用 appends 处理,创建、修改、查询的格式是一致的
|
||||||
|
缺点:不利于查询,性能差,或者不支持
|
||||||
|
|
||||||
|
```ts
|
||||||
|
{
|
||||||
|
type: 'json',
|
||||||
|
name: 'aa',
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建
|
||||||
|
await Repository.create({
|
||||||
|
values: {
|
||||||
|
aa: ['option1', 'option2']
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
// 修改
|
||||||
|
await Repository.update({
|
||||||
|
values: {
|
||||||
|
aa: ['option1', 'option2']
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
// 查询
|
||||||
|
const model = await Repository.findOne();
|
||||||
|
|
||||||
|
model.aa // ['option1', 'option2']
|
||||||
|
```
|
||||||
|
|
||||||
|
用 HasMany 类型,是 Association 字段
|
||||||
|
|
||||||
|
- 优点:支持查询
|
||||||
|
- 缺点:需要 appends,创建、修改、查询的格式如果要保持统一需要做一些格式化处理
|
||||||
|
|
||||||
|
如:
|
||||||
|
|
||||||
|
|
||||||
|
```ts
|
||||||
|
{
|
||||||
|
type: 'hasMany',
|
||||||
|
name: 'aa',
|
||||||
|
target: 'xxx_options' // 自动生成 options 表,只有两个字段 value 和 foreignKey(联合主键)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建
|
||||||
|
await Repository.create({
|
||||||
|
values: {
|
||||||
|
aa: ['option1', 'option2'] // option1 和 option2 存到 value 里
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
// 更新
|
||||||
|
await Repository.create({
|
||||||
|
values: {
|
||||||
|
aa: ['option3', 'option4'] // option1 和 option2 存到 value 里
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
// 查询
|
||||||
|
const model = await Repository.findOne();
|
||||||
|
|
||||||
|
// 如果不特殊处理,输出的格式是这样的:
|
||||||
|
model.aa // [{value: 'option1', foreignKey: 1}, {value: 'option2', foreignKey: 1}]
|
||||||
|
// 可以进一步格式化为:
|
||||||
|
model.aa // ['option1', 'option2']
|
||||||
|
```
|
||||||
|
|
||||||
## date
|
## date
|
||||||
|
|
||||||
- dateOn
|
- dateOn
|
||||||
|
Loading…
Reference in New Issue
Block a user