2016-07-06 265 views
0

我想從一個控制器傳遞數組到另一個控制器。但我不知道如何去做。 我有我的條例草案控制器,陣列:將數組從一個控制器傳遞到另一個控制器。 Laravel

public function store(Request $request, $id,$sid) 

{ 
$selected = array(); 
    if ($request->annual != 0) { 
     $selected['annual'] = $request->annual; 
    } 
    if ($request->registration != 0) { 
     $selected['registration'] = $request->registration; 
    } 
    if ($request->monthly != 0) { 
     $selected['monthly'] = $request->monthly; 
    } 
    if ($request->annual != 0) { 
     $selected['annual'] = $request->annual; 
    } 

return redirect()->route('invoice', [$sid]); 

} 

在這裏,我已經通過路由傳遞$ SID到另一個控制器PdfController。

我的路線:

Route::get('sid/{sid}', '[email protected]')->name('invoice'); 

PdfController:

class PdfController extends Controller 
{ 

    public function invoice($sid) 
    { 

     $data = $this->getData(); 
     $date = date('Y-m-d'); 
     $student = Student::where('id',$sid)->first(); 

     $view = \View::make('layouts.bill',compact('data', 'date','student'))->render(); 
     $pdf = \App::make('dompdf.wrapper'); 
     $pdf->loadHTML($view); 
     return $pdf->stream('invoice'); 

    } 

如何我可以通過陣列從我BillController我PdfController?誰能幫我?

+1

傳什麼數組,爲什麼? – lagbox

+0

傳遞數組:選中$。 $ selected是從post方法獲得的值。 BillController將其保存在數據庫中,並且pdfcontroller可以處理所有打印內容。在這裏,比爾控制器保存$選擇,我希望從我的pdfcontroller打印這些選定的值。 – Anon

+1

如果您將它們保存到數據庫中,請讓其他控制器從數據庫中將它們拉出來,或將它們存儲在會話中並將它們拉出 – lagbox

回答

0

您可以用不同的方式,

  1. 創建快取(Cache ::永遠)變量,並將其傳遞。
  2. 用模型創建數據庫臨時表並傳遞它。
  3. 創建一個靜態變量並首先設置您的變量並再次獲取。

如果你能分辨出你需要通過哪些數據,我們可以幫助你更好。

+0

謝謝@Rys爲我使用數據庫表的答案。它工作正常! – Anon

+0

不客氣。 – Rys

相關問題