Страница Laravel не найдена с переменной {id} - PullRequest
0 голосов
/ 10 мая 2018

Привет У меня есть функция поиска, которая дает ориентиры в результате.Однако сейчас я пытаюсь создать страницу сведений, чтобы просмотреть все детали выбранного ориентира.Я использую маршрут с параметром {id}, и когда я нажимаю на привязку, URL-адрес в браузере является правильным - например, localhost / pages / details / 5, но на странице отображается сообщение об ошибке «страница не найдена»

Мой HTML:

  @foreach($locations as $location)
    @foreach($location->landmark as $landmark)
      <div class="landmarkAnchor">
        <a href="{{ url('/pages/details/'.$landmark->id) }}">{{$landmark->name}}</a>
      </div>
    @endforeach
  @endforeach

Мой маршрут:

Route::get('/details/{id}', 'SearchController@detailsget');

Мой контроллер:

  public function index(Request $request){
    $landmarks = $request->input('location');
      $locations = Location::whereHas('landmark', function($query) use ($landmarks) {
          $query->where('description', 'LIKE', '%' . $landmarks . '%');
      })->get();

    return view('pages.search', compact('locations'));
  }

  public function detailsget($id){
    $landmarks = Landmark::find($id);
    return view('pages.details')->with('landmark', $landmarks);
  }

1 Ответ

0 голосов
/ 10 мая 2018

Создайте свой маршрут так:

Route::get('/pages/details/{id}', [
    'as' => 'detailpage',
    'uses' => 'SearchController@detailsget',
]);

А ваши гиперссылки вот так:

 <a href="{{ route('detailpage', $landmark->id) }}"> {{$landmark->name}}</a>

Это правильный способ сделать это.

...