Динамические свойства по умолчанию в CF9 ORM - PullRequest
1 голос
/ 16 августа 2010

Как настроить динамические свойства по умолчанию для объектов CFM ORM?

Например, я знаю, что могу установить свойство по умолчанию следующим образом:

property name="isActive" default="1";

Но что, если вы хотитеиметь динамически генерируемое значение по умолчанию, такое как дата или UUID?

property name="uuid" default="#createUUID()#";

... выдает ошибку - так какой же обходной путь для этого?

Ответы [ 2 ]

1 голос
/ 16 августа 2010

Когда создается объект 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;
  }
}
0 голосов
/ 16 августа 2010

Вы пытались перегрузить геттер?

public string function getUUID() {if(variables.UUID EQ ""){ return createUUID(); } else { return variables.firstName; }; }

Я не могу проверить это с того места, где я нахожусь, но я бы попробовал.

...