有一段时间我试图在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
答案 0 :(得分:0)
我找到了以下解决方案,通过使用简单的替换程序重置查询来完成此工作。
$statement = $sql->prepareStatementForSqlObject($select);
$statement ->setSql(str_replace('`', '', $statement->getSql()));
这对我有用。