Как сделать несколько маршрутов :: положить в один контроллер (Laravel 6) - PullRequest
0 голосов
/ 17 февраля 2020

Я хочу сделать два Route :: put для моего контроллера, но у меня возникают ошибки, когда я делаю это. У меня такая ошибка:

Фасад \ Ignition \ Exceptions \ ViewException Маршрут [home.callqueue] не определен. (Представление: C: \ xampp \ htdocs \ dqrs \ resources \ views \ dashboard.blade. php)

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

    public function updatenotif(Request $request)
    {
        $request->validate([
            'text'=>['max:255']

        ]);

        DB::table('notifications')->where('id', '1')->update(['text'=>$request->text]);

        return redirect('admin')->withStatus(__('Notification message updated successfully.'));

    }


    public function callqueue(Request $request)
    {
        $request->validate([
            'called'=>['max:255']

        ]);

        $dept=Auth::user()->department;
        Queue::where('department',$dept)
                       ->whereDate('created_at', Carbon::today())
                       ->orderBy('id', 'desc')
                       ->first()
                       ->update(['called'=>$request->called]);

                       return redirect('admin')->withStatus(__('Queue has been called.'));
    }

Это мои веб-маршруты

  Route::put('admin',['as'=>'home.callqueue','uses'=>'HomeController@callqueue']);
  Route::put('admin',['as'=>'home.updatenotif','uses'=>'HomeController@updatenotif']);

IMAGE #2

Ответы [ 2 ]

0 голосов
/ 18 февраля 2020

Вы не можете иметь два маршрута с одним и тем же путем, если у них нет разных методов. И вы получаете эту ошибку «Маршрут [home.callqueue] не определен», потому что второй маршрут переопределяет первый.

 Route::put('admin',['as'=>'home.callqueue','uses'=>'HomeController@callqueue']);
 Route::put('admin',['as'=>'home.updatenotif','uses'=>'HomeController@updatenotif']);

Что вы можете сделать, это изменить пути ваших маршрутов на:

 Route::put('admin/callqueue',['as'=>'home.callqueue','uses'=>'HomeController@callqueue']);
 Route::put('admin/updatenotif',['as'=>'home.updatenotif','uses'=>'HomeController@updatenotif']);
0 голосов
/ 17 февраля 2020

Потому что return redirect ('admin') - это метод get.

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