我有这个控制器方法:
public function index() {
if(Auth::user()){
$tests = $this->getAllTests();
$tests = (new TestDetailsController)->getTestDetails($tests);
return view('website.home')->with(['tests' => $tests]);
}else{
return view('website.auth.login');
}
}
这是路线:
Route::get('/home', 'HomeController@index');
我在视图home.blade.php
上很好地显示了此内容,但我需要通过某种途径将此数据以某种方式显示在两个视图上。
例如在home.blade.php和另一个视图中。
这怎么可能?我应该传递参数还是其他?
您能帮我吗,我是编码的新手。。谢谢。
您可以使用以下两个URI访问您的操作:
/home
/home?view2=yes
因此,您的操作返回视图应如下所示:
....
$tests = (new TestDetailsController)->getTestDetails($tests);
if (is_null(request('view2',null))){
return view('website.home')->with(['tests' => $tests]);
}
else{
return view('website.another-view')->with(['tests' => $tests]);
}
....
同样,通过这种方式,您可以渲染所需数量的视图,而不仅仅是两个:
....
$tests = (new TestDetailsController)->getTestDetails($tests);
$viewsList = ['webmite.view1','posts.listings','users.found'];
if (!is_null(request('view2',null)) && isset($viewsList[request('view2')])){
return view($viewsList[request('view2')])->with(['tests' => $tests]);
}
else{
return view('website.home')->with(['tests' => $tests]);
}
....
但是,以这种方式,view2
参数应为等于中所需视图索引的整数$viewsList
。即/home?view2=0
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句