首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Laravel 5.4中向不同的控制器发送查询?

如何在Laravel 5.4中向不同的控制器发送查询?
EN

Stack Overflow用户
提问于 2017-09-06 14:05:12
回答 1查看 106关注 0票数 0

我想知道是否有任何方法或途径可以将查询发布到不同的控制器(或函数),例如,2个或更多来自laravel表单的查询。我使用的是Laravel 5.4,我想从多个表(在我的例子中是3个)中提取数据,然后将视图返回到不同的页面或页面上的不同药片/标签。

我的控制器看起来像:

代码语言:javascript
运行
复制
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'));
    }
}

我的路线看起来像:

代码语言:javascript
运行
复制
Route::post('/query', 'QueriesController@search');

Route::post('/search', 'QueriesController@query');

我的表单如下:

代码语言:javascript
运行
复制
{!! Form::open(['url' => 'search']) !!}

请给我一些建议。提前感谢

EN

回答 1

Stack Overflow用户

发布于 2017-09-06 14:27:20

如果我理解正确的话:

路由:

代码语言:javascript
运行
复制
Route::post('/search', 'QueriesController@handleSearch');

控制器:

代码语言:javascript
运行
复制
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', [])
    }

}

我认为没有办法处理一个具有多个路由的请求。如果你想这样做,你应该用一条路由来捕获请求。然后,在控制器中,您可以调用所有其他处理程序方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46067899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档