В моей боковой панели у меня есть список городов по умолчанию. Когда я нажимаю на каждый город, я получаю некоторые данные для этого города из определенного API. Эта часть работает. В той же боковой панели у меня также есть список любимых городов, которые зарегистрированные пользователи могут добавлять в этот список столько, сколько они хотят, и позже они могут получить некоторые данные для своих любимых городов, просто нажав на них. Звучит просто, но эта часть не работает. Проблема в том, что Laravel система маршрутизации получает только один идентификатор из моей таблицы избранного для каждого любимого города в списке.
Это маршрут:
Route::get('/favorites/{id}/', 'FavoriteController@show')->name('showFavoriteWeather');
Это контроллер:
public function show($id){
$favorite_city = Favorite::find($id);
// dd($favorite_city);
$api_key = "";
$url = "api.openweathermap.org/data/2.5/group?id=$favorite_city->city_id&units=metric&appid=$api_key";
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$json_response = curl_exec($ch);
$data = json_decode($json_response, true);
// dd($data);
return view('showFavoriteWeather', compact('data'));
}
Любимые города указаны на боковой панели в порядке, но URL для каждой ссылки одинаков: localhost: 8000 / избранное / 3
Идентификатор всегда 3 и самое сложное в том, что у меня на самом деле нет ничего в моей таблице избранного с этим идентификатором. Я удалил эту строку в день go. Итак, мой вопрос: почему в URL-адресах моих любимых городов отображается только ID 3? База данных, которую я использую: MySQL.
В дополнение к этому, когда я вручную изменяю идентификатор 3 в URL на 1 или 2 или любой другой, который у меня есть в моей базе данных, все работает нормально - я получаю данные, которые я хочу для города, который я выбираю.
Код в блейде, который собирает ссылки, которые не работают, выглядит следующим образом:
<ul>
@foreach ($favorites as $key => $favorite)
<li><a href="{{ route('showFavoriteWeather', $id) }}">{{ $favorite->city_name }}</a></li>
@endforeach
</ul>