Я хочу получить значения двух столбцов и выполнить цикл по двум из них одновременно и использовать его для вычисления расстояния, используя широту и долготу, но проблема заключается в том, что он цикличен для всей широты для механики, а цикл для всю долготу для механики, но эти две должны быть объединены в одну.
$mechanicsLatitude = DB::table("tranxav_mechanics")->get(['latitude','email']);
$mechanicsLongitude = DB::table("tranxav_mechanics")->get(['longitude', 'email']);
foreach ($mechanicsLatitude as $latitudeData){
foreach ($mechanicsLongitude as $longitudeData){
$theta = $driverLongitude - $longitudeData->longitude;
$dist = sin(deg2rad($driverLatitude)) *
sin(deg2rad($latitudeData->latitude))
+ cos(deg2rad($driverLatitude))
* cos(deg2rad($latitudeData->latitude))
* cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.1515;
$unit = strtoupper("K");
if ($unit == "K") {
return $miles = $miles * 1.609344;
} elseif ($unit == "N") {
$miles = $miles * 0.8684;
} else {
$miles;
}
TranxavTransaction::create([
'dEmail' => $request->get("email"),
'mEmail' => $longitudeData->email,
'car_model' => $model,
'how_it_happened' => $request->get("likelyProblem"),
'latitude' => $request->get("latitude"),
'longitude' => $request->get("longitude"),
'problem' => input::get('likelyProblem')
]);
}
}