/** * Fetches a simple array of sessions (with vote count not being transformed into an objectstorage) * for a simple list view. * @param $type * @return array */ protected function getFlatSessionObjects($type) { $sessions = []; /** @var \TYPO3\CMS\Core\Database\DatabaseConnection $db */ $db = $GLOBALS['TYPO3_DB']; $stmt = $db->prepare_SELECTquery('uid AS __identity, title, description, highlight, ' . '(SELECT COUNT(tx_sessions_domain_model_vote.uid) ' . 'FROM tx_sessions_domain_model_vote ' . 'WHERE tx_sessions_domain_model_vote.session=tx_sessions_domain_model_session.uid) as votes', 'tx_sessions_domain_model_session', 'type = :type AND deleted = 0 ' . BackendUtility::BEenableFields('tx_sessions_domain_model_session'), '', 'votes DESC ', '', [':type' => ApiModuleController::$slugClassMap[$type]]); if ($stmt->execute()) { while ($row = $stmt->fetch(\TYPO3\CMS\Core\Database\PreparedStatement::FETCH_ASSOC)) { $row['speakers'] = $this->utility->getSpeakers($row['__identity']); $row['json'] = json_encode($row); $sessions[] = $row; } $stmt->free(); } return $sessions; }