将数组从一个控制器传递到另一个Laravel

时间:2016-07-06 06:55:37

标签: arrays laravel-5.2

我正在尝试将数组从一个控制器传递到另一个控制器。但我不知道该怎么做。 我有我的Bill Controller与数组:

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}', 'PdfController@invoice')->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 个答案:

答案 0 :(得分:0)

您可以使用不同的方式,

  1. 创建一个缓存(Cache :: forever)变量并传递它。
  2. 使用模型创建数据库临时表并将其传递。
  3. 创建一个静态变量,然后先设置变量然后重新开始。
  4. 如果您可以告诉您需要通过哪些数据,我们可以为您提供更好的帮助。