我必须使用Laravel传递多个表信息。我总是这样做:
public function get_view(){
$myinfo = Table::where('id',Auth::user()->id)->get();
return view('auth.view')->with('myinfo',$myinfo);
}
我需要从其他表中传递信息。函数“with”只允许我传递一个表。有没有办法做到这一点?
答案 0 :(得分: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 :(得分:1)
您可以传递一个包含多个表的数组作为第二个参数:
public function get_view() {
$myinfo = Table::where('id', Auth::user()->id)->get();
return view('auth.view', [
'myinfo1' => $table1,
'myinfo2' => $table2,
]);
}
此外,您可以使用多个with()
答案 2 :(得分:1)
有一种紧凑的方法。你的例子:
public function get_view(){
$myinfo = Table::where('id',Auth::user()->id)->get();
$myinfo2 = ...
return view('auth.view', compact('myinfo', 'myinfo2'));
}