public function registerEvents(Events $events) { $events->addCallbackListener($events::HYDRATE_AFTER, function (EventArguments $args) { /** @var BadgeUserBridge $entity */ $entity = $args->entity; $entity->injectTranslator($this->translator); }); }
public function registerEvents(Events $events) { $keys = $this->getJsonFields(); $events->addCallbackListener($events::HYDRATE_BEFORE, function (EventArguments $args) use($keys) { foreach ($keys as $key) { if (isset($args->data[$key])) { $args->data[$key] = Json::decode($args->data[$key], Json::FORCE_ARRAY); } } }); $events->addCallbackListener($events::SERIALIZE_BEFORE, function (EventArguments $args) use($keys) { foreach ($keys as $key) { if (isset($args->values[$key])) { $args->values[$key] = Json::encode($args->values[$key]); } } foreach ($args->values as &$value) { if (is_string($value) && $value === '') { $value = NULL; } } }); }
public function registerEvents(Events $events) { $events->addCallbackListener($events::PERSIST_AFTER, function (EventArguments $args) { /** @var IIndexable|Entity $e */ $e = $args->entity; $data = $e->getIndexData(); if ($data === FALSE) { try { $this->elastic->removeFromIndex($this->getShortEntityName(), (int) $e->id); } catch (Missing404Exception $e) { // entity was yet not in index } } else { $this->elastic->addToIndex($this->getShortEntityName(), (int) $e->id, $data); } }); }