gpt4 book ai didi

mysql - 使用 Laravel 对计算列执行查询

转载 作者:行者123 更新时间:2023-11-29 11:02:52 27 4
gpt4 key购买 nike

我想使用 Laravel 的 Eloquent 模型在 PHP 中执行以下 SQL 语句:

SELECT *, (3959 * acos(cos(radians(37)) * cos(radians(lat)) * cos(radians(lng) - radians(-122)) + sin(radians(37)) * sin(radians(lat )))) AS distance
FROM example_retailers
HAVING distance < 1000
ORDER BY distance
OFFSET 4
LIMIT 3;

我正在努力将其转换为 Laravel 的 Eloquent 模型(主要是计算列)。

这是我到目前为止所拥有的:

ExampleRetailer::
// TODO: add calculated row
where('distance', '<', 100)
->orderBy('distance')
->skip(4)
->limit(3)
->get();

最佳答案

您可以使用原始查询 ( source )

DB::table('example_retailers')
->select(DB::raw('*, (3959 * acos(cos(radians(37)) * cos(radians(lat)) * cos(radians(lng) - radians(-122)) + sin(radians(37)) * sin(radians(lat )))) AS distance'))
->having('distance', '<', 100)
->orderBy('distance')
->skip(4)
->limit(3)
->get();

关于mysql - 使用 Laravel 对计算列执行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41921087/

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