gpt4 book ai didi

php - 将sql查询转换为laravel5.2?

转载 作者:行者123 更新时间:2023-11-30 21:59:35 25 4
gpt4 key购买 nike

我正在搜索里程。我已经在核心 sql 查询中完成了英里搜索,但我想将其转换为 laravel 查询。谁能帮我 :-这是我的数据库结构

Users table

id name
1 abc
2 def

Listings Table

id user_id name latitude longitude
1 1 test 30.9193 75.8309
2 2 new 30.9177 75.8415

现在我已经加入了用户和列表表,实际上我正在做里程搜索,但我想用 laravel 查询来实现这是我的 laravel 查询:-

$users = DB::table('users')
->join('listings','users.id','=','listings.user_id')
->select('users.id','users.service_name','listings.id as listid','listings.latitude','listings.longitude')
->get();

现在我有了核心 sql 查询,但我想结合上面的查询:-

enter code here
$sql = SELECT *, ( 3959 * acos ( cos ( radians(30.9193) ) * cos( radians(
lat ) ) * cos( radians( lng ) - radians(75.8309) ) + sin ( radians(30.9193)
) * sin( radians( lat ) ) ) ) AS distance FROM listings HAVING distance <

76任何人都可以帮助我如何在上面的查询中添加 laravel。提前致谢:)

最佳答案

尝试 whereRaw

$nearby = Listings::whereRaw("(
3959
*DEGREES(ACOS(COS(RADIANS('30.9193'))
* COS(RADIANS(lat))
* COS(RADIANS('75.8309' - lng))+ SIN (RADIANS('30.9193'))
* SIN(RADIANS(lat))))<=5)"
)->paginate(50);

在你的情况下

$users = DB::table('users')
->join('listings','users.id','=','listings.user_id')
->select('users.id','users.service_name','listings.id as listid','listings.latitude','listings.longitude')
->whereRaw("(
3959
*DEGREES(ACOS(COS(RADIANS('30.9193'))
* COS(RADIANS(listings.latitude))
* COS(RADIANS('75.8309' - listings.longitude))+ SIN (RADIANS('30.9193'))
* SIN(RADIANS(listings.longitude))))<=76)"
)
->get();

关于php - 将sql查询转换为laravel5.2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43840453/

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