Bonjour,
J'utilise symfony avec postgresql et j'aimerais executer une requete un peu spéciale (qui fonctionne avec un cartridge pour postgresql qui s'appelle bingo et qui permet de faire de la recherche structurale de molécule, mais je dirais peu importe).
De ce fait, la syntaxe d'une requete est :
select * from molecule where structure @ ('query', 'parameters')::bingo.exact
Quand j'utilise cela, doctrine plante à cause de la présence des "@" et autres "::" dans la requete.
J'ai essayé la fonction NativeSql
1 2 3 4 5 6 7 8
| $rsm = new ResultSetMapping;
$rsm->addEntityResult('molecule', 'm');
$rsm->addFieldResult('m', 'id', 'id');
$query = $this->_em->createNativeQuery('SELECT id FROM molecule WHERE structure @ (?, ?)::bingo:exact', $rsm);
$query->setParameter(1, $query);
$query->setParameter(2, $parameters);
return $query->getResult(); |
mais j'ai une erreur :
Object of class Doctrine\ORM\NativeQuery could not be converted to string in /home/.../Symfony/vendor/doctrine-dbal/lib/Doctrine/DBAL/Statement.php line 98
Si quelqu'un a une idée, je suis preneur.
Merci d'avance pour votre aide.
Partager