OnAfterItemLoad

Data Source

Данное событие позволяет выполнить дополнительные действия после успешной загрузки объекта из базы данных.

Вызывается из событий

Данное событие косвенно вызывается из события OnItemBuild в тот момент, когда объект автоматически загружается по ID, переданному в запросе от пользователя. Также оно вызывается из метода kDBItem::Load. Более детально это продемонстрировано ниже:

OnItemBuild -> kDBEventHandler::LoadItem -> kDBItem::Load -> kDBItem::raiseEvent

Входные параметры

название

описание

id (int)

ID той записи, которая была успешно загружена из базы данных. Если в методе уже используется загруженный объект, то лучше получить ID прямо у него:

$object =& $event->getObject();
/* @var $object kDBItem */

$id = $object->GetID();

Потенциальное применение

Данное событие можно использовать для установки значений виртуальных полей объекта на основании его реальных полей. Это будет показано на ниже приведённом примере.

function OnAfterItemLoad(&$event)
{
    parent::OnAfterItemLoad($event);

    $object =& $event->getObject();
    /* @var $object kDBItem */

    $area = $object->GetDBField('Width') * $object->GetDBField('Height');
    $object->SetDBField('Area', $area);
}

Ограничения

Данное событие вызывается только после успешной загрузки объекта из базы данных.