如何使外键成为必需的?

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,我们实际上计划很快添加它,但同时您可以执行以下任一操作:

  1. 在"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');
    }

  1. 其他选项是直接访问MySQL 数据库并将该列设置为NOT NULL。完成后打开宠物对象页面并单击"Sync with Database"。它不会在 Backand 中显示任何指示,但会完成工作。