我正在尝试使用laravel中的雄辩查询来获取组中的最新记录。
我当前的查询是:
$clubs = ClubsLooking::select('a.*')
->from(DB::raw('(SELECT *, (3959 * acos( cos( radians('.Auth::user()->latitude.') ) *
cos( radians( latitude ) )
* cos( radians( longitude ) - radians('.Auth::user()->longitude.')
) + sin( radians('.Auth::user()->latitude.') ) *
sin( radians( latitude ) ) )
) AS distance FROM clubs_looking ORDER BY created_at DESC) a'))
->groupBy('a.club_id')
->limit(4)
->get();
查询看起来很复杂,但仅使用Haversine方法计算两个坐标之间的距离并将结果作为名为distance的列返回。
给我的印象是,通过使用此嵌套查询,我将能够在阅读此答案后使用最新的created_at日期进行分组-Get most recent row with group by and Laravel
但是,当我运行此查询时,我总是总是最先获得最旧的记录,但我尝试通过多种方式进行处理,但无济于事。
有比我大的脑袋的人知道我在做什么吗?