根据非必需属性的存在计算 属性
Computed property based on presence of non-required properties
我们知道我们可以根据 docs、
等其他属性创建计算 属性
type Person {
property first_name -> str;
property last_name -> str;
property full_name := .first_name ++ ' ' ++ .last_name;
}
我想创建一个计算 属性 来显示非必需属性的给定组合是全部存在还是全部不存在,在概念上是这样的,
type Person {
property first_name -> str;
property last_name -> str;
property has_name := .first_name is not null and .last_name is not null;
}
但是EdgeDB没有null的概念,所以这是行不通的。有可能做到这一点吗?如果是这样,计算得到的 属性 本身可以是 required
吗?
您可以使用 exists 运算符检查可选属性是否为空:
type Person {
property first_name -> str;
property last_name -> str;
property has_name := exists .first_name and exists .last_name;
}
我们知道我们可以根据 docs、
等其他属性创建计算 属性type Person {
property first_name -> str;
property last_name -> str;
property full_name := .first_name ++ ' ' ++ .last_name;
}
我想创建一个计算 属性 来显示非必需属性的给定组合是全部存在还是全部不存在,在概念上是这样的,
type Person {
property first_name -> str;
property last_name -> str;
property has_name := .first_name is not null and .last_name is not null;
}
但是EdgeDB没有null的概念,所以这是行不通的。有可能做到这一点吗?如果是这样,计算得到的 属性 本身可以是 required
吗?
您可以使用 exists 运算符检查可选属性是否为空:
type Person {
property first_name -> str;
property last_name -> str;
property has_name := exists .first_name and exists .last_name;
}