Я должен выбрать несколько точек на расстоянии от заданных координат.
Представленный запрос
$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)...
Почему я могу использовать псевдоним «расстояние» с предложением заказа, но не могу с наличием / где?
Как получить его?
Запрос ниже работает, но мне нужно упорядочить набор результатов по расстоянию и использовать расстояние в представлениях …
$locations = Locations::query()->columns(['id'])
->having('(1+2) < 10')
->execute();
Это ограничение, наложенное MySQL, а не Phalcon. Попробуйте выполнить:
SELECT id, (1+2) AS distance FROM locations WHERE distance < 10;
из командной строки mysql, и вы получите ту же ошибку.
Других решений пока нет …