2017-12-27 341 views
2

我想將AddressController.php中的$ valPrev傳遞給FrontController.php。我正在使用函數來傳遞變量。將值從一個控制器傳遞到另一個控制器

前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); 
} 
+0

如果是兩個不同的請求,請將其存儲在會話中。 – aynber

+0

不與()函數作爲會話使用 – Faiez

+0

不,'with()'將變量傳遞給視圖。它不會將它存儲在會話中。 – aynber

回答

2

重定向時,with()方法會將數據閃爍到會話中。

使用session()幫手來獲取數據:

$valPrev = session('valPrev') 

或者Session::get()

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

謝謝,幫助了很多 – Faiez

0

有兩種方法在其中您可以將數據傳遞到另一個控制器。

1 ..通過重新

2 ..與會話。

我假設你已經在你的應用程序命名的路線,你可以使用route('name', $param)

其次,您可以通過將數據保存到會話實現這一目標。 Laravel提供了一個非常好的幫手來實現這一點,您可以簡單地節省會話的費用session()->set('key','value')

希望這會有所幫助。

相關問題