public function createOrUpdate(MetaDataCreateOrUpdateEvent $event) { $metaData = MetaDataQuery::create()->filterByMetaKey($event->getMetaKey())->filterByElementKey($event->getElementKey())->filterByElementId($event->getElementId())->findOne(); if (null === $metaData) { $metaData = new MetaDataModel(); $metaData->setMetaKey($event->getMetaKey())->setElementKey($event->getElementkey())->setElementId($event->getElementId()); } $metaData->setValue($event->getValue()); $metaData->save(); $event->setMetaData($metaData); }