public function getItem($id) { $this->transaction->requestTransaction(); $data = $this->conn->fetchAssoc('SELECT * FROM `' . CoreTables::LANGUAGE_TBL . '` WHERE `id` = :id', [':id' => $id]); if (null === $data) { $this->transaction->requestRollback(); throw new ItemNotFoundException('The specified language has not been found.', $id); } return Language::fromArray($data); }
public static function fromArray($array, $prefix = '') { $user = new User(); DataMappers::fromArray($user, $array, $prefix); if (isset($array['language_id'])) { $user->settingsLanguage = Language::fromArray($array, 'language'); } if ($user->getAdmin()) { $user->addRole('ROLE_ADMIN'); } return $user; }
/** * @return UserRegistration */ public function getItem($id) { $this->transaction->requestTransaction(); $data = $this->conn->fetchAssoc('SELECT r.*, l.`id` AS `language_id`, l.`name` AS `language_name`, l.`locale` AS `language_locale` ' . 'FROM `' . CoreTables::USER_REGISTRATION_TBL . '` r ' . 'INNER JOIN `' . CoreTables::LANGUAGE_TBL . '` l ON l.`id` = r.`languageId` ' . 'WHERE r.`id` = :id', [':id' => $id]); if (false === $data) { $this->transaction->requestRollback(); throw new ItemNotFoundException('The specified item has not been found.', $id); } $item = UserRegistration::fromArray($data); $item->setLanguage(Language::fromArray($data, 'language')); return $item; }