Coldfusion EntityLoad читает рассчитанное поле - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть сущность с большим количеством полей.

<cfscript>
component persistent="true" output="false" {
...
property name="placeholder"     default = 0;
property name="expired"         update=false    insert=false;
property name="admin"           default = 0;
property name="partner"         default = 0;

Много позже, но в том же запросе.Я собираюсь сделать это

if (!arguments.Account.getPlaceholder() )   local.arRoles.append("account");
if (!arguments.Account.getExpired()     )   local.arRoles.append("event");
if (arguments.Account.getAdmin()        )   local.arRoles.append("admin");
if (arguments.Account.getPartner()      )   local.arRoles.append("partner");

И я получаю ошибку, которая выглядит следующим образом

enter image description here

Я делаю дампобъект.Похоже, все должно быть в порядке

enter image description here

1 Ответ

1 голос
/ 19 сентября 2019

Срок действия не похож на другие поля.Он подкреплен расчетом, выполненным в базе данных.Вот почему это

 property name="expired"            update=false    insert=false;

Более того

 Account = EntityLoadByPK("Accounts", arguments.id);

У многих нет того, что ожидается.Чтение из БД должно быть принудительным

 Account = EntityLoadByPK("Accounts", arguments.id);
 EntityReload(Account);
...