createQuery('SELECT PARTIAL u.{id} FROM Phraseanet:User u WHERE u.id = :id') ->setParameters(['id' => $usrId]) ->setHint(Query::HINT_FORCE_PARTIAL_LOAD, true) ->getSingleResult(); } catch (NoResultException $e) { } } protected function tableExists(EntityManager $em, $tableName) { return (Boolean) $em->createNativeQuery( 'SHOW TABLE STATUS WHERE Name="'.$tableName.'" COLLATE utf8_bin ', (new ResultSetMapping())->addScalarResult('Name', 'Name') )->getOneOrNullResult(); } protected function tableHasField(EntityManager $em, $tableName, $fieldName) { if (!$this->tableExists($em, $tableName)) { return false; } return $em ->getConnection() ->getSchemaManager() ->listTableDetails($tableName) ->hasColumn($fieldName); } public function getDoctrineMigrations() { return []; } }