代码之家  ›  专栏  ›  技术社区  ›  Alvaro Alday

为什么从控制器中的其他函数调用View::Make时不工作?

  •  0
  • Alvaro Alday  · 技术社区  · 7 年前

    这是一个相当简单的问题,我在其他控制器中实现了这一点,但我似乎无法弄清楚在这个特定的情况下到底发生了什么,以及为什么它不起作用。

    我的控制器有两个功能:

    public function create(Request $request)
    {
        //
        $this->edit($request, null);
    }
    
    public function edit(Request $request, Group $group = null)
    {
        //
    
        return View::make('groups.create')
            ->with('controllerUrl', $this->controllerUrl)
            ->with('record', $group);
    }
    

    在这个例子中,create函数将我发送到一个空白页。

    这是我的路线:

    Route::group(['middleware'=>['web', 'CheckWritePermission']], function ()
    {
        Route::resource('some_model', 'SomeModelController');
        Route::resource('model', 'ModelController');
        Route::resource('groups', 'GroupController');
    });
    

    出于某种原因,在其他控制器中这样做是可行的,而在其他控制器中则不行。

    我很困惑这是为什么,因为这样做很好。

    public function create(Request $request)
    {
        //
        // $this->edit($request, null);
        return View::make('groups.create')
            ->with('controllerUrl', $this->controllerUrl)
            ->with('record', $group);
    }
    

    我只是想知道为什么在某些情况下它是有效的,而在其他情况下它是无效的。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Frnak    7 年前

    您缺少退货声明

    return $this->edit($request, null);
    

    您的编辑方法确实返回了一些内容,但您的创建方法没有返回,因此页面保持空白。

    推荐文章