【问题标题】:return redirect()->route() shows the errorreturn redirect()->route() 显示错误
【发布时间】:2017-10-16 07:00:46
【问题描述】:

当更新功能完成时,它应该重定向到另一个页面sample.blade。但它显示错误未定义这是我的代码, 在PassengerController

 public function update(Request $request, $id)
 {
    $this->validate($request, [
        'name' => 'required',
        'email' => 'required',
    ]);
    Move::find($id)->update($request->all());
    return redirect()->route('Move.sample')
                  ->with('success','updated successfully');
    //return redirect('Move.sample');
}

我的路线.php,

Route::resource('Move', 'PassengerController');

我应该在路由中定义这条路由吗?

【问题讨论】:

    标签: php laravel-5


    【解决方案1】:

    您没有名为 Move.sample 的路由

    return redirect()->route('move.index')
                      ->with('success','updated successfully');
    

    Route::resource 生成以下命名路由:

    move.index
    move.create
    move.store
    move.edit
    move.update
    move.destroy
    

    【讨论】:

    • 谢谢,但它也显示错误“Route [Move] not defined。”
    • 感谢您的解释
    • 但是消息“更新成功”没有显示认为它已在我的数据库中更新
    • 刀片模板中是否有会话输出?
    • 不,我没有在刀片中使用任何会话
    【解决方案2】:

    如果Move 文件夹中有sample 刀片,请使用return view('Move.sample')

    return view('Move.sample')
                  ->with('success','updated successfully');
    

    如果您为sample 视图定义了路由,则只能使用route

    redirect()->route('/sample');
    

    并为此设置路线

    Route::get('/sample', 'PassengerController@getSample'); 
    

    并在getSample函数中返回视图Move.samplePassengerController

    return view('Move.sample')->with('success','updated successfully');
    

    查看官方文档中关于resources的说法

    【讨论】:

    • 但是为什么在使用return redirect()->route('Move.sample')时会显示错误
    • @saranya 因为该名称的路线不存在,请参阅我的回答
    猜你喜欢
    • 2018-10-06
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    • 2014-07-30
    • 2022-11-01
    • 2023-03-07
    • 2019-07-29
    • 2014-09-03
    相关资源
    最近更新 更多