如何在CF9 ORM对象上设置动态属性默认值?
例如,我知道我可以像这样设置属性默认值:
property name="isActive" default="1";
但是如果你想拥有一个动态生成的默认值,比如日期或UUID呢?
property name="uuid" default="#createUUID()#";
...抛出错误 - 那么解决方法是什么?
答案 0 :(得分:1)
创建Entity对象时,将调用对象构造函数。这是运行“设置”代码的好地方。
User.cfc
component persistent="true"
{
property name="id" fieldtype="id" generator="native";
property name="secretKey";
public User function init() {
if (isNull(variables.secretKey))
setSecretKey(createdUUID());
return this;
}
}
答案 1 :(得分:0)
你有没有试过重载吸气剂?
public string function getUUID() {if(variables.UUID EQ ""){ return createUUID(); } else { return variables.firstName; }; }
我无法从我所处的地方测试,但我会尝试。