忽略 Lucee Orm 中的默认值

Ignored default value in Lucee Orm

我用这个 属性 设置我的持久化组件:

<cfproperty name="active" ormType="timestamp" notnull="true" dbDefault="now()" />

现在,如果我通过不指定实体的 created_at 值来保存实体,我会得到一个错误:not-null property references a null or transient value: User.active

如何在创建实体时跳过指定所有列?

谢谢!

我不会在数据库模式中设置默认值,而是使用 default 属性在实体的属性中定义它们以避免空值。

但是,请记住,只有简单的 non-dynamic 值 - 例如固定字符串和数字 - 可以定义为默认值。如果您需要定义一个复杂值,如数组,或动态值,例如 Now(),您需要在实体的 init() 方法中设置它们。

component name="user" accessors=true persistent=true{

 property name="active" ormtype="boolean" default=false;
 property name="created_at" ormtype="timestamp";

 function init(){
  variables.created_at=Now();
  return this;
 }

}