Я хотел бы постраничный круговой запрос на MySQL, а именно это:CakePHP - Специальный запрос в PAGINATION
SELECT *,
(
6371 * acos(
cos(radians($lat)) * cos(radians(lat))
* cos(radians(lng)
- radians($lng)
)
+ sin(radians($lat)
) * sin(radians(lat)))) AS distance
FROM {$this->table} HAVING distance < $dist
ORDER BY distance LIMIT $offset , $limit;
К сожалению, я вижу Pagination component работает только через какой-то построитель запросов.
Есть ли способ, которым я могу использовать этот запрос в любом случае?
Вы должны проверить раздел о виртуальных полях: http://book.cakephp.org/2.0/ ru/models/virtual-fields.html - также вас может заинтересовать [geocoding-with-cakephp] (http://www.dereuromark.de/2012/06/12/geocoding-with-cakephp/). – mark
@mark Я не могу использовать виртуальные фиксы здесь, потому что в поле есть 2 параметра: '$ lat' и' $ lng'. Но геологический плагин я рассмотрю позже. – Lanbo
Aint a excuse :) Там в связанном примере он также принимает два параметра - посмотрите на код. – mark