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

时间:2017-12-27 16:01:34

标签: php laravel laravel-5

我想将$ 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);
}

3 个答案:

答案 0 :(得分:2)

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

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

$valPrev = session('valPrev')

Session::get()

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

答案 1 :(得分:0)

使用"和#34;重定向。值应该在会话中。尝试使用

session()

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

答案 2 :(得分:0)

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

1 ..通过重定向

2 ..与会话。

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

其次,您可以通过将数据保存到会话中来实现此目的。 Laravel为实现此目的提供了一个非常好的帮助,您可以使用session()->set('key','value')

简单地节省价值

希望这有帮助。