将值从一个控制器传递到另一个控制器

问题描述 投票:2回答:3

我想将$ valPrev从AddressController.php传递给FrontController.php。我正在使用函数来传递变量。

Front Controller.php

 public function index2($valPrev){
            $shop=Products::all();
            $valPre = Input::get('valPrev');


    dd($valPrev);
            $garma = Products::where('season','=','Summer')->take(4)->get();
            $sarma = Products::where('season','=','Winter')->take(4)->get();
            $khizan = Products::where('season','=','Autumn')->take(4)->get();
            $bahar = Products::where('season','=','Spring')->take(4)->get();
            $review = Review::orderby('id','desc')->take(2)->get();

            return view('front.index',compact('shop','garma','sarma','khizan','bahar','review'));
        }

AddressController.php

public function store(Request $request)
{
    $this->validate($request,[
        'fname'=>'required',
        'lname'=>'required',
        'Ttl'=>'required',
        'email'=>'required|email',
        'addressline'=>'required',
        'city'=>'required',
        'pro'=>'required',
        'phone'=>'required |regex:/^[0-9\-\+]{9,15}$/',

    ]);
    Address::create($request->all());
    $pro=$request->Ttl;

    $proo=$request->pro;

    return redirect('/')->with('valPrev',1);
}
php laravel laravel-5
3个回答
2
投票

重定向时,with()方法会将数据闪烁到会话中。

使用session()帮助器获取数据:

$valPrev = session('valPrev')

或者Session::get()

$valPrev = \Session::get('valPrev');

0
投票

使用带有“with”的重定向。值应该在会话中。尝试使用

session()

点击此处了解更多详情。 https://laravel.com/docs/5.5/redirects#redirecting-with-flashed-session-data


0
投票

有两种方法可以将数据传递给另一个控制器。

1 ..通过重定向

2 ..与会话。

我假设你的应用程序中有一个命名路由,你可以使用route('name', $param)

其次,您可以通过将数据保存到会话中来实现此目的。 Laravel为实现这一目标提供了一个非常好的帮助,你可以通过session()->set('key','value')简单地节省价值

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.