Kaynağa Gözat

附近,距离限制

lizhen_gitee 1 yıl önce
ebeveyn
işleme
7bdf6185fc
1 değiştirilmiş dosya ile 5 ekleme ve 3 silme
  1. 5 3
      application/api/controller/Index.php

+ 5 - 3
application/api/controller/Index.php

@@ -61,16 +61,17 @@ class Index extends Api
             $where['user.birthday'] = ['between',[time()-$agemax*31536000,time()-$agemin*31536000]];
         }
         //距离
+        $having_dis = '';
         $distancemin = input('distancemin',0);
         if($distancemin > 0){
-            $where['distance'] = ['gt',$distancemin];
+            $having_dis = 'distance > '.$distancemin*1000;
         }
         $distancemax = input('distancemax',0);
         if($distancemax > 0){
-            $where['distance'] = ['lt',$distancemax];
+            $having_dis = 'distance < '.$distancemax*1000;
         }
         if($distancemin > 0 && $distancemax > 0){
-            $where['distance'] = ['between',[$distancemin,$distancemax]];
+            $having_dis = 'distance > '.$distancemin*1000 .' and distance < '.$distancemax*1000;
         }
 
         $field = [
@@ -96,6 +97,7 @@ class Index extends Api
             ->join('user_active active' ,'user.id = active.user_id','LEFT')
             ->where($where)
             ->where($where_black)
+            ->having($having_dis)
             ->order('distance asc')
             ->autopage()
             ->select();