diff --git a/app/Http/Controllers/Mobile/OtherController.php b/app/Http/Controllers/Mobile/OtherController.php index 3643d45..81c4595 100755 --- a/app/Http/Controllers/Mobile/OtherController.php +++ b/app/Http/Controllers/Mobile/OtherController.php @@ -143,15 +143,20 @@ class OtherController extends CommonController // 使用标准的 Haversine 公式计算距离 $distanceFormula = " (6371 * acos( - cos(radians(?)) * - cos(radians(CAST(company_latitude AS DECIMAL(10,8)))) * - cos(radians(CAST(company_longitude AS DECIMAL(10,8))) - radians(?)) + - sin(radians(?)) * + cos(radians(?)) * + cos(radians(CAST(company_latitude AS DECIMAL(10,8)))) * + cos(radians(CAST(company_longitude AS DECIMAL(10,8))) - radians(?)) + + sin(radians(?)) * sin(radians(CAST(company_latitude AS DECIMAL(10,8)))) )) AS distance "; - $query = Company::with('users')->select('*') + $query = Company::with('users') + ->whereHas('users', function ($query) { + $query->where('is_schoolmate', 1)->with(['courseSigns' => function ($query) { + $query->with('course.typeDetail')->orderBy('fee_status', 'desc'); + }]); + })->select('*') ->selectRaw($distanceFormula, [$latitude, $longitude, $latitude]) ->where(function ($query) use ($all) { if (isset($all['company_name'])) {