J'essaie de comprendre comment utiliser Doctrin 2 nativeQuery.Doctrine 2 native Requête addFieldResult sensibilité à la casse?
J'ai créé une classe simple du personnel avec les attributs suivants:
id (id) userName (nom d'utilisateur) lastName (last_name) email (email)
note les cas de chameau. names in() sont les noms des champs de la base de données. Pas cohérent et c'est à des fins de test.
lorsque je tente d'utiliser la requête native i définir les paramètres suivants:
$rsm = new \Doctrine\ORM\Query\ResultSetMapping();
$rsm->addEntityResult('Entities\Staff', 's');
$rsm->addFieldResult('s', 'id', 'id');
$rsm->addFieldResult('s', 'userName', 'username');
$rsm->addFieldResult('s', 'lastName', 'last_name');
$rsm->addFieldResult('s', 'password', 'password');
$rsm->addFieldResult('s', 'email', 'email');
$sql = 'SELECT id, s.username, last_name, password, email from staff s ' ;
$query = $this->em->createNativeQuery($sql, $rsm);
$users = $query->getResult();
\Doctrine\Common\Util\Debug::dump($users[0]);
quand je lance la requête i larguer un objet en utilisant l'installation de vidage et obtenir:
objet (stdClass) # 97 (10) {["CLASSE"] => chaîne (14) "Entités \ Personnel" ["id"] => int (1) ["userName"] => NULL ["firstName"] => NULL ["lastName"] => NULL ["mot de passe"] => string (5) "admin" ["email"] => chaîne (12) "[email protected]" ["isAdmin"] => NULL [" conférences "] => array (0) {} [" roles "] => array (0) {}}
notez comment id, email et mot de passe contiennent des valeurs correctes alors que userName et lastName sont tous les deux NULL.
Pourquoi est-ce?
Merci pour toute aide. Je suis un peu confus. Je ne vois aucun exemple de ce genre dans la documentation de Doctrine, alors peut-être que j'ai mal compris quelque chose. le plus probable ... :)