Laravel 5.3 - 重定向后删除了闪存数据

时间:2016-12-06 13:09:48

标签: php laravel homestead

我正在使用Laravel 5.3

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

我的方法是:

  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()时会话数据不存在。

  3. 我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

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

如果您现在再次在routes.php中应用它,您将看到该网站在路由列表php artisan route:list上出现两次。这确实使闪存数据丢弃。