如何在一条路线中使用多种方法?

时间:2019-10-04 16:46:36

标签: php laravel

我想了解如何将更多方法与我的路线相关联。例如:

a

除了Route::get('/dashboard', 'DController@showX')->middleware('auth'); 之外,我还有另一个名为showX()的函数,希望与该路由相关联,但是如果我两次重写它都没有成功,该如何解决问题?

控制器:

showY()

1 个答案:

答案 0 :(得分:2)

从这样的路线上是不可能做到的。您将如何处理两个返回值?

根据控制器方法判断,也许您想使用showX中的showY值?

我看到的解决方法是在路由中使用一种方法:

Route::get('/dashboard', 'DController@show')->middleware('auth');

并触发您的其他两种方法:

public function show() {
    // decide what to return
    $xValue = $this->showX();
    return $this->showY($xValue);
}

protected function showY($y){
    $name=Auth::user()->name;
    return view('dashboard',['name' => $name, 'y' => $y]);
}

protected function showX(){
    $y= Y::all();
}