laravel-保存到数据库后如何调用存储在控制器中的函数?

时间:2020-07-01 08:41:52

标签: laravel laravel-5

我正在关注有关Laravel的教程,并通过表单将其添加到数据库中。在保存到数据库的函数的最后,它返回到表单所在的页面,但我想转到显示信息的另一页面。在本教程中,我创建了一个带有函数的控制器,该函数返回包含所有数据库信息的视图-该元素可以正常工作,但是在保存到数据库后,似乎找不到直接调用此函数的方法。我还可以返回仅显示静态视图的任何其他视图(仅是不带数据处理的html)。我想要实现的目标有可能吗?

  public function store(){        

        $li = new \App\LTest1();
        $li->creator = request('creator');
        $li->title = request('title');
        $li->views = request('views');
        $li->save();
        return back(); // this works
       // return view('info');  // this works
       //return ('Listings@showList');   this doesnt work = how do i call a function in a controller???
    }
// routing

Route::get('info', function () {
    return view('info'); // i can get to this static page from my store() function
});

Route::get('thedataviewpage', 'Listings@showList'); // you can route to this but not from the store() function

3 个答案:

答案 0 :(得分:1)

Redirect是您这里需要的东西

public function store() {
    $li = new \App\LTest1();
    $li->creator = request('creator');
    $li->title = request('title');
    $li->views = request('views');
    $li->save();

    return redirect('info'); // Redirect to the info route
}

答案 1 :(得分:0)

以这个例子为例。确保添加正确的路由名称和正确的消息。

// index is the education's index const addHighlight = (index) => { const newEducation = { ...education[index], highlights: [...education[index].highlights, ''] }; setEducation(Object.assign([], education, {index: newEducation})); }; // index is the education's index <button onClick={() => addHighlight(index)}>Add highlight</button>

答案 2 :(得分:0)

只需使用

即可返回控制器操作
return redirect()->action('Listings@showList');

或者您可以使用route来调用该控制器动作

return redirect('/thedataviewpage');