2016-09-20 1 views
1

Depuis un moment, j'essaie de supprimer les guillemets de ma requête mysql dans une application ZF2. J'ai besoin de supprimer les guillemets pour que cette requête fonctionne, en testant la requête sur la ligne de commande réussie en supprimant les guillemets autour de GEODIST().ZF2 Supprimer les guillemets dans la requête

$adapter = $serviceLocator->get('SphinxSearch\Db\Adapter\Adapter'); 
$sql  = new Sql($adapter); 
$select = new Select; 
$select ->columns(array('*', 'distance' => 'GEODIST(23.3556740442177, 2.9525189115381, latitude, longitude)')) 
     ->from('table_name') 
     ->where(array('distance > ?' => 250000)) 
     ->order('distance ASC') 
     ->limit(25); 

     echo $select->getSqlString(new SphinxQL()); 

Sorties

SELECT *, `GEODIST(23.3556740442177, 2.9525189115381, latitude, longitude)` AS `distance` FROM `table_name` ORDER BY `distance` ASC LIMIT 0,25 
+0

Avez-vous vraiment un guillemet simple avant '23.3556740442177'? Parce que cela ne devrait certainement pas être là. –

+0

Excusez-moi! Il n'y a pas .. J'avais besoin d'éditer le code un peu, je suis désolé :) – directory

Répondre

0

que j'ai trouvé la solution de suivi pour faire ce travail en remettant à zéro la requête avec un simple succédané.

$statement = $sql->prepareStatementForSqlObject($select); 
$statement ->setSql(str_replace('`', '', $statement->getSql())); 

Cela a fait le travail pour moi.