Как вызвать две функции одним маршрутом в laravel

Я хочу получить 2 функции по 1 маршруту для просмотра

Я пытался так, но не работает

Route::post('prospect', ['ProspectController@store' , 
                         'course_controller@show_details']);

3 ответа

Это то, что вы ищите?

Route::get('prospect', 'course_controller@show_details');
Route::post('prospect', 'ProspectController@store');

Если вы хотите показать prospect после того, как он был сохранен, почему бы просто не вернуть его в ProspectController@store?

Если вы хотите следовать дизайну Restful API:

 Route::post('prospect', 'ProspectController@store'); // return created prospect here

 Route::get('prospect/{id}', 'ProspectController@show');

Попробуйте этот код ниже:

Route::post('prospect','ProspectController@store');

public function store(Request $request)
{
    if($request->something == 'something'):
       Self::showDetail();
    else:
      // Continue store method

    endif;
}

public static function showDetail(){

}

Лучше использовать редирект на действие контроллера

try this way
Route::post('prospect', 'ProspectController@store'); //use only one method 

Теперь добавьте в строке в ProspectController в store метод, если вы хотите использовать метод перенаправления

   return redirect()->action('HomeController@index');

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

 app('App\Http\Controllers\course_controller')->show_details();

в противном случае используется так

 app(course_controller::class)->show_details();

или непосредственно создать такой объект

(new  App\Http\Controllers\course_controller())->show_details();
Другие вопросы по тегам