2016-09-20 9 views
1

しばらくしてから、私のMySQLクエリの引用符をZF2アプリケーションで削除しようとしています。このクエリが動作するように引用符を削除する必要があります。コマンドラインでクエリをテストするには、GEODIST()を引用符で囲みます。ZF2クエリでカラムの引用符を削除する

$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()); 

出力

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

「23.3556740442177」の前に一重引用符がありますか?それは間違いなくそこにあるべきなので。 –

+0

すみません!私はコードを少し編集する必要があった、私は残念です:) – directory

答えて

0

私は簡単な代用品でクエリをリセットすることで、この作業をするために次の解決策を見つけました。

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

これは私の仕事でした。

関連する問題