У меня есть форма, которая будет публиковать данные в ControllerONE, сохранять их в базе данных и перенаправлять пользователя на /list
. Затем маршрут /list
использует ControllerTwo для создания представления. Однако если я:
return redirect('/list)->withSuccess('DONE!');
Я не могу восстановить $success
в представлении, его нет. В чем проблема?
веб.php
Route::get('/acp/nodes', 'NodeController@index');
Route::post('/acp/nodes/category/save', 'CategoriesController@save');
NodeController@index
return view('admin.nodes.edit')->with('categories', $categories);
РубрикиКонтроллер@save
return redirect('acp/nodes')->withSuccess('true');
При этом я не могу получить ни $success
, ни session('success')
.
вы не можете получить его, потому что это не переменная, переданная в представление, это значение, хранящееся в массиве флэш-памяти, которое вы можете получить, используя session('success')
, и чтобы проверить, существует ли оно, вы должны использовать session()->has('success')
.
После нескольких часов возни я заметил, что у меня есть
\Illuminate\Session\Middleware\StartSession::class
как в $middleware
, так и в $middleWareGroups
Удаление повторяющейся записи полностью устранило проблему.
Два варианта :
redirect()->back()->withSuccess([...])
илиreturn redirect()->route('acp/nodes)->withSuccess([...])