我有一个动作方法,它的体内有多个变量,如下所示: -
$bus=Bus::all();
$user=User::all();
$employer=employer::all();
Run Code Online (Sandbox Code Playgroud)
将这些变量对象返回到视图的做法是使用这样的代码
return view('create')->with(compact('bus', $bus))->with(compact('user', $user))->with(compact('employer', $employer));
Run Code Online (Sandbox Code Playgroud)
是否有一种方法可以立即返回此对象,而无需使用所有这些代码
return view('create')->($user,$bus,$emp);
Run Code Online (Sandbox Code Playgroud)
只是我想要的例子.
你可以像这样创建一个数组
$data['bus']=Bus::all();
$data['user']=User::all();
$data['employer']=employer::all();
return view('create',['data'=>$data]);
Run Code Online (Sandbox Code Playgroud)
你在这里几乎没有选择.
第一种方法是:
with()明确使用并传递数组:
return view('create')->with('data', [
'bus' => $bus,
'user' => $user,
'employer' => $employer
]);
Run Code Online (Sandbox Code Playgroud)
使用with()并列出您的变量compact():
return view('create')->with('data', compact('bus','user','employer'));
Run Code Online (Sandbox Code Playgroud)
您可以在视图中访问您的对象,例如带有键'bus','user'和'employer'的关联数组$ data.
另一种方法是:
将数组作为第二个参数传递给view()函数:
return view('create', [
'bus' => $bus,
'user' => $user,
'employer' => $employer
]);
Run Code Online (Sandbox Code Playgroud)
传递一个compact()函数(它将在后面的示例中创建一个类似于幕后的view()函数)作为函数的第二个参数:
return view('create', compact('bus','user','employer'));
Run Code Online (Sandbox Code Playgroud)
如果您以这种方式使用它,您将在视图中获得三个变量$ bus,$ user和$ employer.
| 归档时间: |
|
| 查看次数: |
2701 次 |
| 最近记录: |