首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用laravel按纬度和经度搜索

使用laravel按纬度和经度搜索
EN

Stack Overflow用户
提问于 2018-08-16 13:21:43
回答 1查看 139关注 0票数 0

我知道这个问题已经被问过了,但在我的情况下,我有一个令人沮丧的问题,我很想找到答案。基本上,当我运行脚本时,我会得到一个遇到的非数字值,因为我无法在等式中使用db表中的行的值。如下所示:

代码语言:javascript
复制
$auctions = Auction::join('users','auctions.user_id','users.id')
                ->join('categories','auctions.category_id','categories.id')
                ->join('sub_catogories','auctions.sub_category_id','sub_catogories.id')
                ->select(['auctions.id','auctions.title','auctions.slug',
                          'auctions.description','auctions.image',
                          'auctions.reserve_price','auctions.auction_status',
                          'auctions.start_date','auctions.end_date'], 
                          ((acos(sin($orig_lat * pi() / 180) * sin(-37.8136 * pi() / 180) + cos($orig_lat * pi() / 180) * cos(-37.8136 * pi() / 180) * cos(($orig_long - '**HOW DO I INSERT users.lat HERE????**') * pi() / 180)) * 180 / pi()) * 60 * 1.1515), 'AS', 'distance')

                ->where ( 'lat', 'BETWEEN', ($orig_lat - $bounding_distance), 'AND', ($orig_lat +         $bounding_distance), 'AND', 'lng', 'BETWEEN', ($orig_long - $bounding_distance), 'AND', ($orig_long + $bounding_distance))
                ->orderBy('auctions.id','desc')->paginate(PAGINATE_RECORDS);
EN

回答 1

Stack Overflow用户

发布于 2018-08-16 13:51:47

这个错误将会消失,而不是使用selectRaw而不是select

代码语言:javascript
复制
Auction::join('users','auctions.user_id','users.id')
                ->join('categories','auctions.category_id','categories.id')
                -
>join('sub_catogories','auctions.sub_category_id','sub_catogories.id')
                ->selectRaw('auctions.id','auctions.title','auctions.slug',
                          'auctions.description','auctions.image',
                          'auctions.reserve_price','auctions.auction_status',
                          'auctions.start_date','auctions.end_date', 
                          ((acos(sin($orig_lat * pi() / 180) * sin(-37.8136 * pi() / 180) + cos($orig_lat * pi() / 180) * cos(-37.8136 * pi() / 180) * cos(($orig_long - '**HOW DO I INSERT users.lat HERE????**') * pi() / 180)) * 180 / pi()) * 60 * 1.1515), 'AS', 'distance')

                ->where ( 'lat', 'BETWEEN', ($orig_lat - $bounding_distance), 'AND', ($orig_lat +         $bounding_distance), 'AND', 'lng', 'BETWEEN', ($orig_long - $bounding_distance), 'AND', ($orig_long + $bounding_distance))
                ->orderBy('auctions.id','desc')->paginate(PAGINATE_RECORDS);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51870075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档