为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 比较插入的列和同一行中的另一列

Laravel 比较插入的列和同一行中的另一列

PHP
Helenr 2023-07-01 17:20:05
我有一个商店表,我计算了这些商店位置和客户位置之间的距离,我想比较距离是否大于商店覆盖范围,然后不在列表中显示该商店我知道可以使用havingRaw,但如果我使用 \DB::table('stores') 但就我而言,我在获得所有商店后添加了距离列,现在我在刀片中使用它并且工作正常,但想知道是否可以在控制器中执行此操作      @if($item->store_coverage >= $item->distance)return $stores->where('distance','>',0 )->where('distance <= store_coverage')->sortBy('distance');希望你能得到我需要的东西
查看完整描述

2 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

使用集合过滤器助手

$stores->filter(function ($item, $key) {
    return $item->store_coverage >= $item->distance;
});


查看完整回答
反对 回复 2023-07-01
?
喵喔喔

TA贡献1735条经验 获得超5个赞

您忘记将 where 语句分解为其参数,并在查询对象上调用 sortBy,而不是结果集合。

$stores->where('distance', '>', 0)
       ->where('distance', '<=', 'store_coverage')
       ->get()
       ->sortBy('distance');


查看完整回答
反对 回复 2023-07-01
  • 2 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信