2017-01-02 57 views
1

我必須將多個表信息傳遞給Laravel。我總是這樣做:將信息從多個表傳遞給模板使用Laravel

public function get_view(){ 
     $myinfo = Table::where('id',Auth::user()->id)->get(); 
     return view('auth.view')->with('myinfo',$myinfo); 
    } 

我需要從其他表傳遞信息。函數「with」只允許我傳遞一個表。有沒有辦法做到這一點?

回答

1

選項1:

return view('auth.view')->with('myinfo', $myinfo)->with('anotherVar', $anotherVar); 

選項2:

$var1, $var2; 
return view('auth.view', compact('var1', 'var2')); 

其轉換爲(選項3):

$var1, $var2; 
return view('auth.view', ['var1' => $var1, 'var2' => $var2]); 
1

可以傳遞一個數組具有多個表作爲第二個參數:

public function get_view() { 
    $myinfo = Table::where('id', Auth::user()->id)->get(); 
    return view('auth.view', [ 
     'myinfo1' => $table1, 
     'myinfo2' => $table2, 
    ]); 
} 

此外,您可以使用多個with()

1

有一種方法緊湊。你的例子:

public function get_view(){ 
    $myinfo = Table::where('id',Auth::user()->id)->get(); 
    $myinfo2 = ... 
    return view('auth.view', compact('myinfo', 'myinfo2')); 
}