2015-09-04 118 views
2

我必須選擇距給定座標有一定距離的某些位置點。 提交查詢Phalcon:不能在where/having子句中使用別名列

$locations = Locations::query()->columns(['id','distance' => '(1+2)']) 
       ->order('distance') 
       ->having('distance < 10') 
       ->execute(); 

產生錯誤:

SELECT id, (1+2) AS distance FROM [Multiple\Base\Models\Locations] GROUP BY [distance < 10] ORDER BY distance (116)... 

我爲什麼可以用「距離」的別名有秩序條款,但不能與有/在哪裏?

如何得到它?

以下作品中的查詢,但我需要按距離和看法使用距離的ResultSet ...

$locations = Locations::query()->columns(['id']) 
        ->having('(1+2) < 10') 
        ->execute(); 

回答

0

這是由MySQL不是爾康強加的限制。嘗試執行:

SELECT id, (1+2) AS distance FROM locations WHERE distance < 10; 

從mysql命令行,您將收到相同的錯誤。

相關問題