Как разделить переменную $request между другой функцией с другого URL-адреса в том же контроллере на laravel

#laravel

Вопрос:

Я хочу поделиться переменной $request между другой функцией с другого URL-адреса в том же контроллере на laravel, как показано ниже, но как ?

Контроллер

 
class ABCController extends Controller
{

    public function validation(Request $request)
    {
          ---------------
    }

     public function save()
    {
          Log::debug($request)
    }
   
 

api.php

 Route::post('/abc',[ABCController::class,'validation']);

Route::get('/save',[ABCController::class,'save']);

 

Что я пытался

 class ABCController extends Controller
{

    public function validation(Request $request)
    {
          Session::put('data', $request)
          session(['data' => $request]);

          Log::debug(Session::get('data'));
          Log::debug(session('data'));
    }

     public function save()
    {
          Log::debug(Session::get('data'));
          Log::debug(session('data'));
    }

 

Я пробовал выше, но Log::debug в функции сохранения показывает мне значение null в журнале.

Пожалуйста, дайте мне совет.

Комментарии:

1. То, что вы пытаетесь сделать, кажется неправильным, я бы не стал полагаться на сериализацию запроса между вызовами. То же самое, если вы вызываете эти URL-адреса в postman, сеанса нет. Что вы на самом деле пытаетесь сделать?

2. Я хочу проверить электронную почту без laravels, поэтому уточняйте запрос и отправляйте почту , в которой есть код в первой функции, в следующей функции проверяйте код и сохраняйте данные, но я не хочу проверять запрос дважды.. Поэтому я хочу сохранить запрос на$.

3. Imo вам не следует пытаться хранить данные запроса между двумя запросами, если они вам нужны, добавьте их по ссылке, по которой они нажимают

Ответ №1:

Создайте глобальную переменную

  class ABCController extends Controller
{
private $data;

public function validation(Request $request)
{
      $this->data =$request;
}

 public function save()
{
      echo $this->data;
}
}