首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel 5控制器返回控制器

Laravel 5控制器返回控制器
EN

Stack Overflow用户
提问于 2015-10-08 18:13:40
回答 2查看 40关注 0票数 1

我有一个控制器函数,需要重定向到一个具有不同功能的路由,以避免代码的冗余。是否有可能将重定向转到另一个函数?

以下是代码:

代码语言:javascript
运行
复制
public function index()
{
    $x = Auth::user()->id;  

    $id = DB::table('requests')->where('id', $x)->lists('userid');

    if (!is_null($id)) {
        $frnd = DB::table('users')->whereIn('id', $id)->get();

        if (!is_null($frnd)) {
            return view('friendlist', compact('frnd'));
        } else {
            $frnd = null;

            return view('friendlist', compact('frnd'));
        }
    } else {
        $frnd = null;
        return view('friendlist', compact('frnd'));
    }
}

public function respond()
{
    $frnds = new Friend;

    $id = Auth::user()->id;

    $friendid = Request::input('friendid');

    $frnds->id = $id; 

    $frnds->friendid = $friendid;

    if (Input::get('accept')) {
        $frnds->save();
    }

    DB::table('requests')->where('id', $id)->where('userid', $friendid)        

    return  // this is where i should redirect to page with function index()
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-08 18:24:54

在路由定义中指定索引路由,如下所示

代码语言:javascript
运行
复制
Route::get('home', ['uses' => 'YourController@index', 'as' => 'home']);

然后使用重定向方法重定向到此路由:

代码语言:javascript
运行
复制
return redirect()->route('home');

有关重定向的更多信息,请使用正式文档。

http://laravel.com/docs/5.1/responses#redirects

票数 1
EN

Stack Overflow用户

发布于 2015-10-14 13:27:18

我不认为是完美的,但有人更喜欢这样:

代码语言:javascript
运行
复制
private function _index()
{
    $x = Auth::user()->id;  

    $id = DB::table('requests')->where('id', $x)->lists('userid');

    if (!is_null($id)) {
        $frnd = DB::table('users')->whereIn('id', $id)->get();

        if (!is_null($frnd)) {
            return view('friendlist', compact('frnd'));
        } else {
            $frnd = null;

            return view('friendlist', compact('frnd'));
        }
    } else {
        $frnd = null;
        return view('friendlist', compact('frnd'));
    }
}

public function index()
{
    $this->_index();
}

public function respond()
{
    $frnds = new Friend;

    $id = Auth::user()->id;

    $friendid = Request::input('friendid');

    $frnds->id = $id; 

    $frnds->friendid = $friendid;

    if (Input::get('accept')) {
        $frnds->save();
    }

    DB::table('requests')->where('id', $id)->where('userid', $friendid)        

    $this->_index();
}

用于重复代码的私有函数。

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

https://stackoverflow.com/questions/33023088

复制
相关文章

相似问题

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