【问题标题】:Passing data from one controller to another through a route Laravel 7通过路由 Laravel 7 将数据从一个控制器传递到另一个控制器
【发布时间】:2021-06-11 13:59:27
【问题描述】:

我已经设置了一个依赖于 routes.php 的系统,我现在遇到了一个问题,即我需要将一个变量传递给重定向到控制器的路由并在控制器中接收该变量。这可能吗。谢谢

Main Controller
return redirect()->route('ROUTENAME')->with("Variable", Array);// Variable has to come from here

web.php
Route::get('ROUTE', "FUNCTION")->name('ROUTENAME');//Need to receive the array here and pass it on

RecieveFunction
$Variable;//This was passed from Main Controller and forwarded from the route

【问题讨论】:

    标签: php laravel model-view-controller routes


    【解决方案1】:

    你可以这样做来接收数据:

    use Illuminate\Http\Request;
    
    Route::get('ROUTE', static function(Request $request){
        ...
    
        $variable = $request->session()->get('Variable'));
        # Delete the data if you don't to keep it in session
        $request->session()->forget('Variable');
    
        ...
    } )->name('ROUTENAME');
    

    或者如果你想将它传递给控制器​​

    use App\Http\Controllers\ReceivingController;
    
    Route::get('ROUTE', [ReceivingController::class, 'function_name'] )->name('ROUTENAME');
    
    
    # ReceivingController
    public function function_name(Request $request)
    {
        ...
    
        $variable = $request->session()->get('Variable'));
        # Delete the data if you don't to keep it in session
        $request->session()->forget('Variable');
    
        ...
    }
    

    【讨论】:

      【解决方案2】:

      你可以使用 session()->get('Variable');在 RecieveFunction 中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-07
        • 1970-01-01
        • 1970-01-01
        • 2016-10-06
        • 2020-05-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多