А что этот код делает? Достает список аэропортов города?
1. Создать таблицы
cities
и
airports
(обратите внимание – названия во мн. числе)
cities:
id | name | другие поля, если нужно
airports:
id | city_id | name | другие поля, если нужно
2. Создать модели
City
и
Airport
(обратите внимание – названия в ед. числе)
2.1 В модели
City
создать отношение один-ко-многим (в городе может быть несколько аэропортов)
public function airports(): \Illuminate\Database\Eloquent\Relations\HasMany {}
return $this->hasMany(\App\Models\Airport::class);
}
2.2 В модели
Airport
создать обратное отношение
public function city(): \Illuminate\Database\Eloquent\Relations\BelongsTo {}
return $this->belongsTo(\App\Models\City::class);
}
Теперь можно получать аэропорты города, и город по аэропорту
$from = $request->input['otkuda'];
$city = \App\Models\City::whereName($from) // По названию города
->firstOrFail();
// или
// $fromId = $request->input['otkuda'];
// $city = \App\Models\City::findOrFail($fromId); // По ID города
dump($city->toArray()); // Получили город
dump($city->airports->toArray()); // Получили список аэропортов города
$airportId = $request->input['airportId'];
$airport = \App\Models\Airport::findOrFail($airportId);
dump($airport->toArray()); // Получили аэропорт по ID
dump($airport->city->toArray()); // Получили город, в котором этот аэропорт находится.