忽略 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;
}
}
我用这个 属性 设置我的持久化组件:
<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;
}
}