|
|
@@ -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;
|
|
|
}
|