我想知道是否有任何方法或途径可以将查询发布到不同的控制器(或函数),例如,2个或更多来自laravel表单的查询。我使用的是Laravel 5.4,我想从多个表(在我的例子中是3个)中提取数据,然后将视图返回到不同的页面或页面上的不同药片/标签。
我的控制器看起来像:
class QueriesController extends Controller
{
public function search(Request $search){
$data = $search->data;
$tables= DB::table('tablename1')->where('column', "$data")->get();
return view('/page1', compact('tables'));
}
public function query(Request $query){
$tdata= $query->data;
$tables= DB::table('tablename2')->where('column', "$tdata")->get();
return view('/page2', compact('tables'));
}
}
我的路线看起来像:
Route::post('/query', 'QueriesController@search');
Route::post('/search', 'QueriesController@query');
我的表单如下:
{!! Form::open(['url' => 'search']) !!}
请给我一些建议。提前感谢
发布于 2017-09-06 14:27:20
如果我理解正确的话:
路由:
Route::post('/search', 'QueriesController@handleSearch');
控制器:
class QueriesController extends Controller
{
public function handlSearch(Request $request) {
$tabs = [];
$tabs[] = $this->search($request);
$tabs[] = $this->query($requst);
return \View::make('path.to.your.view', [
'tabs' => $tabs
])
}
protected function search(Request $search)
{
// Your stuff
return \View::make('path.to.tab.part', [])
}
protected function query(Request $query)
{
// Your stuff
return \View::make('path.to.tab.part', [])
}
}
我认为没有办法处理一个具有多个路由的请求。如果你想这样做,你应该用一条路由来捕获请求。然后,在控制器中,您可以调用所有其他处理程序方法。
https://stackoverflow.com/questions/46067899
复制相似问题