我正在使用Laravel 5.3
我有两个模型Parent
和Student
,它们之间存在多对多关系,我想为Parent
添加Student
,反之亦然
我的方法是:
创建从Student
个人资料中添加Parent
的链接,如下所示:
<a href="{{ route('students.parents.add', ['id' => $student->id]) }}" title="Add parent">Add Parent</a>
使用控制器方法添加路由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()
时会话数据不存在。
我错过了什么吗?
答案 0 :(得分:0)
确保您没有在web
文件中添加routes.php
中间件,因为它已添加到文件RouteServiceProvider.php
文件中。
如果您现在再次在routes.php中应用它,您将看到该网站在路由列表php artisan route:list
上出现两次。这确实使闪存数据丢弃。