wesmiler 6 年 前
コミット
495345f8c5
1 ファイル変更4 行追加3 行削除
  1. 4 3
      vendor/thinkcmf/cmf-app/src/weixin/model/Devices.php

+ 4 - 3
vendor/thinkcmf/cmf-app/src/weixin/model/Devices.php

@@ -29,13 +29,14 @@ class Devices extends Model
         $mapConfig = config('config.map');
 //        $distance = 50000;
         $distance = isset($mapConfig['distance']) ? floatval($mapConfig['distance']) : 20000;
+        $distSql = db()->raw("{$distance} >= distance('{$lng}','{$lat}',d.`lng`,d.`lat`)  ");
         $dataList = Devices::alias('d')
             ->join('user m', 'm.id=d.shop_uid', 'left')
             ->join('shop s', 's.user_id=d.shop_uid', 'left')
             ->field("m.id,s.name as shop_name,d.name as device_name,d.device_code,s.business_project,s.intro,s.contact_name,s.mobile,s.logo as thumb,d.show_device_code,d.lng,d.color_type,d.lat,distance('{$lng}','{$lat}',d.`lng`,d.`lat`) as dists, d.address as d_address, s.address")
-            ->where(function ($query) use ($lng, $lat, $distance) {
+            ->where(function ($query) use ($lng, $lat, $distance, $distSql) {
                 if ($lng && $lat && $distance) {
-                    return $query->where('', 'exp', db()->raw("{$distance} >= distance('{$lng}','{$lat}',d.`lng`,d.`lat`)  "));
+                    return $query->where('', 'exp', $distSql);
                 }
             })
             ->where($where)
@@ -56,7 +57,7 @@ class Devices extends Model
             ->toArray();
 
         //echo Db::name('devices')->getLastSql().'++';
-
+        saveLogCache('map_sql', Devices::getLastSql());
 //        echo Devices::getLastSql();
         return $dataList;
     }