如何使外键成为必需的?
How to make foreign key required?
对于文档中给出的模型示例,我注意到您可以创建 pet
对象而不需要 owner
。如何在 JSON 中指定需要 owner
?
我在“字段”选项卡中看到“必填”开关,但单击它时开关没有移动。
[
{
"name": "pets",
"fields": {
"name": {
"type": "string"
},
"owner": {
"object": "users"
}
}
},
{
"name": "users",
"fields": {
"email": {
"type": "string"
},
"firstName": {
"type": "string"
}
"pets": {
"collection": "pets",
"via": "owner"
}
}
}
]
目前 JSON foreign-key 不支持必填字段,但您可以解决它。我来自 Backand,我们实际上计划很快添加它,但同时您可以执行以下任一操作:
- 在"pets"对象的Before Create和Before Update事件中添加服务器端Action并检查空值,空抛出错误。使用以下代码:
try{
if (userInput.items == null){
throw new Error('must have owner');
}
}
catch(err){
throw new Error('must have owner');
}
- 其他选项是直接访问MySQL 数据库并将该列设置为NOT NULL。完成后打开宠物对象页面并单击"Sync with Database"。它不会在 Backand 中显示任何指示,但会完成工作。
对于文档中给出的模型示例,我注意到您可以创建 pet
对象而不需要 owner
。如何在 JSON 中指定需要 owner
?
我在“字段”选项卡中看到“必填”开关,但单击它时开关没有移动。
[
{
"name": "pets",
"fields": {
"name": {
"type": "string"
},
"owner": {
"object": "users"
}
}
},
{
"name": "users",
"fields": {
"email": {
"type": "string"
},
"firstName": {
"type": "string"
}
"pets": {
"collection": "pets",
"via": "owner"
}
}
}
]
目前 JSON foreign-key 不支持必填字段,但您可以解决它。我来自 Backand,我们实际上计划很快添加它,但同时您可以执行以下任一操作:
- 在"pets"对象的Before Create和Before Update事件中添加服务器端Action并检查空值,空抛出错误。使用以下代码:
try{
if (userInput.items == null){
throw new Error('must have owner');
}
}
catch(err){
throw new Error('must have owner');
}
- 其他选项是直接访问MySQL 数据库并将该列设置为NOT NULL。完成后打开宠物对象页面并单击"Sync with Database"。它不会在 Backand 中显示任何指示,但会完成工作。