Как решить Извините, страница, которую вы ищете, не может быть найдена - PullRequest
0 голосов
/ 26 мая 2018

Я использую laravel 5.5, когда я хочу пройти по маршруту, он показывает следующую ошибку, как (Извините, страница, которую вы ищете, не может быть найдена), но я совершенно не понимаю, это Google несколько раз, но не работаетЛюбое тело помочь решить это заранее спасибо.

это мой маршрут

Route::get('order/{$id}', 'front\FrontController@order');
Route::get('booking/{$id}', 'front\FrontController@booking');

это мой контроллер

public function index(){
        $categorys = DB::table('categories')->where('cate_status', '=', 'enable')->get();
        $rooms = DB::table('rooms')->where('status', '=', 'Enable')->get();
        return view('welcome', compact('categorys','rooms'));
    }


public function order($id){
            echo $id;
        }

    public function booking($id){
        echo $id;
    }

это мои взгляды

@foreach($categorys as $category)
                    <div class="col-md-4 col-sm-6 col-xs-12">
                        <div class="hover-content">
                            <a href="{{url('order/'.$category->id)}}">
                            <img src="{{asset('assets/site')}}/images/menu/thumb/{{$category->cate_img}}" alt="chinese" class="img-responsive animation">
                            <div class="overlay animation">
                                <h4 class="text-uppercase">{{$category->cate_name}}</h4>
                            </div>
                            </a>
                        </div>
                    </div>
                    @endforeach

Ответы [ 3 ]

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

Относительно вашего сообщения об ошибке вы называете неправильный URL для вызова маршрута.Обновите ваши маршруты:

Route::name('order.show')->get('order/{$id}', 'front\FrontController@order');
Route::name('booking.show')->get('booking/{$id}', 'front\FrontController@booking');

Затем на своем блейде попробуйте использовать именованный маршрут:

@foreach($categorys as $category)
    <div class="col-md-4 col-sm-6 col-xs-12">
        <div class="hover-content">
            <a href="{{route('order.show', $category)}}">
                <img src="{{asset('assets/site')}}/images/menu/thumb/{{$category->cate_img}}" alt="chinese" class="img-responsive animation">
                <div class="overlay animation">
                    <h4 class="text-uppercase">{{$category->cate_name}}</h4>
                </div>
            </a>
         </div>
     </div>
     @endforeach

Ваш HTML должен быть изменен, использование div в a нецелесообразно.

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

Удалите знак доллара из ваших маршрутов, и он должен работать.

Route::get('order/{id}', 'front\FrontController@order');
Route::get('booking/{id}', 'front\FrontController@booking');

Вы также должны назвать свои маршруты для более легкого обслуживания и изменений в будущем.

Route::name('foobar')->get('url/{slug}/{date}', 'foo@BarController@foobar');

Использование:

route('foobar', ['slug' => 'stackoverflow', 'date' => '2018'])

Если позже вы измените маршрут на ->get('url/{date}/{slug}'), будет работать тот же вызов route.

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

попробуйте использовать route() как-то так Изменить.

<a href="{{url('order/'.$category->id)}}">

С

<a href="{{ route('order.get',$category->id) }}">

И изменить

Route::get('order/{$id}', 'front\FrontController@order');

С

Route::get('order/{$id}', 'front\FrontController@order')->name('order.get');

Убедитесь, что заданный путь контроллера должен быть правильным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...