/** * @param \TYPO3\Sessions\Domain\Model\AcceptedSession $session * @validate $session \TYPO3\Sessions\Domain\Validator\SpeakerCollisionValidator * @return string */ public function scheduleSessionAction(\TYPO3\Sessions\Domain\Model\AcceptedSession $session) { // update properties $this->acceptedSessionRepository->update($session); /** @var PersistenceManager $persistenceManager */ $persistenceManager = GeneralUtility::makeInstance(PersistenceManager::class); $persistenceManager->persistAll(); // change type manually after extbase updated the object /** @var \TYPO3\CMS\Core\Database\DatabaseConnection $db */ $db = $GLOBALS['TYPO3_DB']; $res = $db->exec_UPDATEquery('tx_sessions_domain_model_session', 'uid = ' . $session->getUid(), ['type' => ScheduledSession::class]); return 'success'; }