【问题标题】:Laravel 5.3 - flash data removed after redirectLaravel 5.3 - 重定向后删除闪存数据
【发布时间】:2016-12-07 16:47:27
【问题描述】:

我正在使用 Laravel 5.3

我有两个模型,ParentStudent,它们之间存在多对多关系,我想为 Student 添加一个 Parent,反之亦然。

我的做法是:

  1. Student 个人资料创建链接以添加Parent,如下所示:

    <a href="{{ route('students.parents.add', ['id' => $student->id]) }}" title="Add parent">Add Parent</a>

  2. 使用控制器方法添加路由students.parents.add 以将id 刷新到会话并重定向。

    // in web.php:
    Route::get('/students/{id}/parents/add', ['as' => 'students.parents.add', 'uses' => 'StudentController@addParent']);
    Route::resource('students', 'StudentController');
    
    // and in StudentsController:
    public function addParent($id)
    {
        return redirect()->route('parents.create')->with('associated_id', $id);
    }
    

    之后,单击按钮会重定向到ParentsController create(),但是当我尝试return session()->all() 时会话数据不存在。

我错过了什么吗?

【问题讨论】:

    标签: php laravel homestead


    【解决方案1】:

    确保您没有在 routes.php 文件中添加 web 中间件,因为它已添加到文件 RouteServiceProvider.php 文件中。

    如果你现在在你的 routes.php 中再次应用它,你会看到 web 在路由列表中出现了两次 php artisan route:list。这正是使闪存数据丢弃。

    【讨论】:

    • 我在谷歌搜索问题时遇到了这个问题,但这不是我的情况,因为route:list 显示每个路由只应用一次web 中间件。
    猜你喜欢
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 1970-01-01
    相关资源
    最近更新 更多