как вызвать две функции одним маршрутом в laravel - PullRequest
0 голосов
/ 01 апреля 2019

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

Я пробовал вот так, но не работает

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

Ответы [ 3 ]

2 голосов
/ 01 апреля 2019

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

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');
0 голосов
/ 01 апреля 2019

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

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(){

}
0 голосов
/ 01 апреля 2019

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

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();
...