【发布时间】:2018-06-25 00:09:12
【问题描述】:
我有一个查询要搜索具有一定距离的用户:
$q->addSelect(DB::raw(
'( acos(cos(radians(' . Auth::user()->latitude . '))' .
'* cos( radians( users.latitude ) )' .
'* cos( radians( users.longitude )' .
'- radians(' . Auth::user()->longitude . ') )' .
'+ sin( radians(' . Auth::user()->latitude . ') )' .
'* sin( radians( users.latitude ) ) ) ) as distance'
));
$q->having('distance', '<', $search->distance);
我收到此错误:找不到列:“有子句”中的 1054 列“距离”未知。
当我在 PhpMyAdmin 中运行查询并返回 $q->toSql(); 时,我的查询有效吗?!
【问题讨论】:
-
你尝试过 ->where() 而不是 ->have() no groupBy in here....
-
@koalaok 是的,一样。
-
如何将 DB::raw 与其他选定字段一起放入 $q->select() 的参数中?
-
@koalaok 相同结果
-
请发布
$q->toSql();的结果。
标签: laravel laravel-5 eloquent