首页 > 解决方案 > Laravel 比较插入的列和同一行中的另一列

问题描述

我有一张商店表,我计算了这些商店位置和客户位置之间的距离,我想比较距离是否大于商店覆盖范围,然后不要在我知道可以使用 havingRaw 的列表中显示这家商店,但如果我使用 \DB::table('stores') 但在我的情况下,我在获得所有商店后添加了距离列,现在我在刀片中使用它并且工作正常但想知道是否可以在控制器中做到这一点

      @if($item->store_coverage >= $item->distance)

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

希望你能得到我需要的

谢谢你

标签: phpdatabaselaravel

解决方案


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

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

推荐阅读