php - Laravel 比较插入的列和同一行中的另一列
问题描述
我有一张商店表,我计算了这些商店位置和客户位置之间的距离,我想比较距离是否大于商店覆盖范围,然后不要在我知道可以使用 havingRaw 的列表中显示这家商店,但如果我使用 \DB::table('stores') 但在我的情况下,我在获得所有商店后添加了距离列,现在我在刀片中使用它并且工作正常但想知道是否可以在控制器中做到这一点
@if($item->store_coverage >= $item->distance)
return $stores->where('distance','>',0 )->where('distance <= store_coverage')->sortBy('distance');
希望你能得到我需要的
谢谢你
解决方案
您忘记将 where 语句分解为其参数,并在查询对象上调用 sortBy,而不是结果集合。
$stores->where('distance', '>', 0)
->where('distance', '<=', 'store_coverage')
->get()
->sortBy('distance');
推荐阅读
- c# - 如何在 UWP 上与 OneDrive 同步数据
- ios - 从嵌入的tableviewcontroller执行Segue时如何保留NavigationController
- c - Mac OS:在 C 中打印访问控制列表 (ACL)
- excel - 设置“新 InternetExplorer”会生成自动化错误:-2125463506 (8150002e)
- jsf-2 - JSF 2.0 中 faces-config.xml 中的多个资源包
- javascript - 检查Angular中是否处于“模式”可见打印或隐藏打印
- javascript - 视频需要很长时间才能在 html 和 php 中缓冲
- python - 从树莓派发出请求时未收到套接字数据
- javascript - 根据条件将列表分成两个新列表的最佳方法
- php - Nginx 重定向文件 php