2016-02-13 128 views
2

我知道这是一个微不足道的问题,但有人可以向我解释为什么返回视图('some.view');没有得到执行?相反,返回重定向。返回值的调用方法

我正在使用Laravel 5.1。

在控制器我有两个方法:

public function change(Request $request){ 

    if($request->edit === 'Edit') 
    { 
     $this->edit($request); 
    } 
    return redirect('to-route'); 
} 

public function edit(Request $request){ 
    return view('some.view'); 
} 

据我所知,编辑()方法应该执行,然后继续在改变自己的工作()方法,但为什么它忽略返回?

+0

does'$ request-> edit ==='Edit'' if if it does not execute that function – Sanandrea

+0

dadin84解释了解决方案。而且,那个声明是真实的,它只是忽略了被调用方法的返回。还是谢谢。 –

回答

2

在您的change()函数中,您调用方法$this->edit($request);但是,脚本没有使用返回值。如果你想使用返回值;

$editReturn = $this->edit($request); 

然后,您可以使用此变量来显示返回的内容。如果你想从edit()返回结果也作为change()的返回值,你可以做;

return $this->edit($request); 

在你的change()函数里面。但是这意味着您的现有退货不会被执行。

+0

谢谢你,我认为第二种方法的回报就足够了。现在,我只是将回复添加到通话中。 –

+0

很高兴帮助你,快乐的编码;) – dading84