Как отправить данные с помощью перенаправления с Laravel

Я разработал API для отображения всплывающего сообщения при загрузке страницы.

Не все страницы используют всплывающий API. Например, если пользователь перейдет на страницу show($id), для которой не требуется всплывающее окно api. но в некоторых особых случаях мне нужно всплывать, чтобы их уволили.

Вот мой код, ** этот код просто для иллюстрации моей точки, а не фактического рабочего кода **

public function store(){
    validating the input

    saving them

    $id = get the id

    return Redirect::route('clients.show, $id')
}

и в функции show я делаю это:

public function show($id){
   $client =Client::find($id)
   return View::make('clients.profife')->with(array(
   'data' => $client
))

Мой вопрос

Есть ли способ, чтобы я мог отправлять данные из функции store в функцию show с помощью Redirect:: route? а затем в функции show, я проверяю, есть ли эта функция show, я проверяю, были ли эти данные отправлены, а затем я решаю, следует ли запускать всплывающее api или нет.

}

Ответ 1

В магазине()

return Redirect::route('clients.show, $id')->with( ['data' => $data] );

и в show() прочитайте его с помощью

Session::get('data');

Ответ 2

Простое перенаправление с использованием вспомогательных функций.

Поэтому вам не нужно устанавливать use Redirect или use Session в вашей модели контроллера.

После обработки чего-либо в вашем контроллере вставьте:

return redirect()->route( 'clients.show' )->with( [ 'id' => $id ] );

Чтобы получить переменную 'id' в маршруте 'clients.show' (упоминалось выше), используйте:

// in PHP
$id = session()->get( 'id' );

// in Blade
{{ session()->get( 'id' ) }}

Ответ 3

Да, вы можете определить путь в маршруте, как показано ниже:

Route::get('store/{id?}/{param1?}/{param2?}/{param3?}', '[email protected]');

Вы можете передать несколько параметров в функцию и прочитать в контроллере, передав аргумент..

Вы можете определить в контроллере:

public function store(id, param1,param2,param3){
//read the param values
}