ZF2删除查询中的列引号

时间:2016-09-20 12:20:44

标签: php mysql zend-framework quotes

有一段时间我试图在ZF2应用程序中删除我的mysql查询的引号。我需要删除引号以使此查询有效,通过删除GEODIST()周围的引号来成功检测命令行上的查询。

$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

1 个答案:

答案 0 :(得分:0)

我找到了以下解决方案,通过使用简单的替换程序重置查询来完成此工作。

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

这对我有用。