Метод POST не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD - PullRequest
1 голос
/ 19 октября 2019

Я хочу записать свою книгу пациентов на прием. Я использую 2 контроллера: PatientController и AppointmentController .

PatientController.php

public function book()
{
    $patients = new User(); 
    return view('patient.patient_book', compact('patients'));
}

AppointmentController.php

public function store(){
    $patient = new User();
    $appointment = new Appointment();

    $appointment->user_id = $patient->id;
    $appointment->appointment_date = request('date_booking');
    $appointment->slot = request('slot');
    $appointment->branch = request('branch');
    $appointment->note = request('note');
    $appointment->save();
    return redirect('/patient/report_list');
}

Что касается моего маршрута ;

Route::prefix('patient')->group(function(){
     Route::get('/patient_book', 'PatientController@book');
     Route::post('/report_list', "AppointmentController@store");
});

Я также включил отношения внутри Пользователь модель

protected $guarded = [];

public function appointments(){

    return $this->hasMany(Appointment::class);
}

А что касается Назначение модель;

protected $guarded = [];

public function patient(){
    return $this->belongsTo(User::class);
}

Внутри моего Patient_Book.blade.php ;

<form method = "POST" action = "/patient/report_list">

После отправки формы ее необходимо перенаправить в report_list.blade.php гдевновь представленная встреча будет указана на этой странице. Я следовал учебному пособию в Laracasts, где используются примеры Project и Task. Однако я получил эту ошибку, когда попытался ее запустить.

Метод POST не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD.

Я проверил другие ответы, но ничего не помогло. Пожалуйста, помогите мне, так как я все еще новичок и запутался в Laravel. Спасибо.

1 Ответ

0 голосов
/ 19 октября 2019

Ошибка здесь

return redirect('/patient/report_list');

Вы не можете вернуть ответ 301 перенаправления на маршрут POST, это должен быть маршрут GET

Возможно, вы захотите перенаправить на предыдущийстраница вместо

return back();

Надеюсь, это поможет

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