gpt4 book ai didi

php - CakePHP - 分页中的特殊查询

转载 作者:行者123 更新时间:2023-11-30 01:22:58 25 4
gpt4 key购买 nike

我想在 MySQL 上使用循环查询进行分页,即:​​

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仅通过某些查询生成器起作用。

有没有办法可以在分页中使用此查询?

最佳答案

所以,事实证明您可以在类声明之后添加虚拟字段,如下所示:

public function addDistanceVirtualField($lng, $lat) {
$this->virtualFields['distance'] = <<<EOT
(
6371 * acos(
cos( radians( $lat) ) * cos( radians( {$Model->alias}.lat ) )
* cos( radians( {$Model->alias}.lng )
- radians($lng)
)
+ sin( radians($lat)
) * sin( radians( {$Model->alias}.lat ) ) ) )
EOT;
}

关于php - CakePHP - 分页中的特殊查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18342114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com