取消拼接sql

main
yanzai 2 years ago
parent 6cfbdef589
commit 2ac0754aea

@ -25,13 +25,19 @@ class HospitalController extends Controller
$id = $request->post('id'); $id = $request->post('id');
$latitude = $request->post('latitude'); $latitude = $request->post('latitude');
$longitude = $request->post('longitude'); $longitude = $request->post('longitude');
$info = Hospital::select('id', 'address', 'logo', 'name', 'phone', 'latitude', 'longitude', DB::raw('(ROUND(6371 * acos(cos(radians(' . $latitude . ')) * cos(radians(latitude)) * cos(radians(longitude) - radians(' . $longitude . ')) + sin(radians(' . $latitude . ')) * sin(radians(latitude))), 2)) AS distance')) $info = Hospital::select('id', 'address', 'logo', 'name', 'phone', 'latitude', 'longitude',
DB::raw('(ROUND(6371 * acos(cos(radians(?)) * cos(radians(latitude)) * cos(radians(longitude)
- radians(?)) + sin(radians(?)) * sin(radians(latitude))), 2)) AS distance'))
->setBindings([$latitude, $longitude, $latitude])
->where('id', $id) ->where('id', $id)
->where('status', 1) ->where('status', 1)
->where('del', 2) ->where('del', 2)
->first(); ->first();
if (!$info) { if (!$info) {
$info = Hospital::select('id', 'address', 'logo', 'name', 'phone', 'latitude', 'longitude', DB::raw('(ROUND(6371 * acos(cos(radians(' . $latitude . ')) * cos(radians(latitude)) * cos(radians(longitude) - radians(' . $longitude . ')) + sin(radians(' . $latitude . ')) * sin(radians(latitude))), 2)) AS distance')) $info = Hospital::select('id', 'address', 'logo', 'name', 'phone', 'latitude', 'longitude',
DB::raw('(ROUND(6371 * acos(cos(radians(?)) * cos(radians(latitude)) * cos(radians(longitude)
- radians(?)) + sin(radians(?)) * sin(radians(latitude))), 2)) AS distance'))
->setBindings([$latitude, $longitude, $latitude])
->where('dev', 2) ->where('dev', 2)
->where('status', 1) ->where('status', 1)
->where('del', 2) ->where('del', 2)
@ -58,7 +64,8 @@ class HospitalController extends Controller
Login::user(); Login::user();
$latitude = $request->post('latitude'); $latitude = $request->post('latitude');
$longitude = $request->post('longitude'); $longitude = $request->post('longitude');
$query = Hospital::select('id', 'address', 'logo', 'name', 'phone', DB::raw('(ROUND(6371 * acos(cos(radians(' . $latitude . ')) * cos(radians(latitude)) * cos(radians(longitude) - radians(' . $longitude . ')) + sin(radians(' . $latitude . ')) * sin(radians(latitude))), 2)) AS distance')) $query = Hospital::select('id', 'address', 'logo', 'name', 'phone', DB::raw('(ROUND(6371 * acos(cos(radians(?)) * cos(radians(latitude)) * cos(radians(longitude) - radians(?)) + sin(radians(?)) * sin(radians(latitude))), 2)) AS distance'))
->setBindings([$latitude, $longitude, $latitude])
->where('status', 1)->where('del', 2); ->where('status', 1)->where('del', 2);
if (Login::$info->dev != 1) $query->where('dev', 2); if (Login::$info->dev != 1) $query->where('dev', 2);
$list = $query->orderBy('distance', 'asc')->get(); $list = $query->orderBy('distance', 'asc')->get();

Loading…
Cancel
Save