我有一個商店表,我計算了這些商店位置和客戶位置之間的距離,我想比較距離是否大于商店覆蓋范圍,然后不在列表中顯示該商店我知道可以使用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;
});
喵喔喔
TA貢獻1735條經驗 獲得超5個贊
您忘記將 where 語句分解為其參數,并在查詢對象上調用 sortBy,而不是結果集合。
$stores->where('distance', '>', 0)
->where('distance', '<=', 'store_coverage')
->get()
->sortBy('distance');- 2 回答
- 0 關注
- 159 瀏覽
添加回答
舉報
0/150
提交
取消
