У меня есть ресурс с именем категории в моем файле web.php со следующим содержимым:
Route::prefix('admin')->middleware(['web'])->group(function () {
Route::get('login', [AdminLoginController::class, 'showLoginForm'])->name('admin.login');
Route::post('login', [AdminLoginController::class, 'login'])->name('admin.login.post');
Route::post('logout', [AdminLoginController::class, 'logout'])->name('admin.logout');
Route::middleware(['auth', 'admin'])->group(function () {
Route::resource('categories', CategoryController::class);
Route::post('update-category-status', [CategoryController::class, 'updateStatus'])->name('admin.updateCategoryStatus'); // This belongs to Categories
Route::resource('products', ProductController::class);
Route::get('dashboard', function () {
return view('admin.index');
})->name('admin.index'); // This is a temporary route, the dashboard will be changed later
});
});
В моем контроллере категорий у меня есть два метода:
public function index()
{
Log::info('In Index Method');
Log::info('Session Data in Index:', session()->all());
$categories = Category::with('parent', 'children')->get();
return view('admin.productCategory.index', compact('categories'));
}
и мой метод уничтожения или любой другой метод в этом контроллере:
public function destroy(string $id)
{
$category = Category::find($id);
if ($category && $category->delete()) {
session()->flash('product_deleted', 'Category deleted successfully!');
} else {
session()->flash('product_not_deleted', 'Category was not deleted!');
}
Log::info('AFTER THIS ');
Log::info('Session Data:', session()->all());
session()->flash('product_deleted', 'Category deleted successfully!');
return redirect()->route('categories.index');
}
Метод индекса не получит значение сеанса.
Средство ведения журнала печатает следующий журнал:
[2024-07-30 14:43:26] local.INFO: AFTER THIS
[2024-07-30 14:43:26] local.INFO: Session Data: {"_token":"210aCSLtzRf4afNsYuzuY4xsYG1khCMf01YMc52H","url":[],"_previous":{"url":"http://127.0.0.1:8000/admin/categories" ... d":[],"new":["product_deleted"]},"login_web_59ba36addc2b2f9401580f014c7f58ea4e30989d":1,"auth":{"password_confirmed_at":1722348879},"product_deleted":"Category deleted successfully!"}
[2024-07-30 14:43:26] local.INFO: In Index Method
[2024-07-30 14:43:26] local.INFO: Session Data in Index: {"_token":"210aCSLtzRf4afNsYuzuY4xsYG1khCMf01YMc52H","url":[],"_previous":{"url":"http://127.0.0.1:8000/admin/categories"},"_flash":{"old":["product_deleted","product_deleted"],"new":[]},"login_web_59ba36addc2b2f9401580f014c7f58ea4e30989d":1,"auth":{"password_confirmed_at":1722348879},"product_deleted":"Category deleted successfully!"}
[2024-07-30 14:43:27] local.INFO: In Index Method
[2024-07-30 14:43:27] local.INFO: Session Data in Index: {"_token":"210aCSLtzRf4afNsYuzuY4xsYG1khCMf01YMc52H","url":[],"_previous":{"url":"http://127.0.0.1:8000/admin/categories" ... 1722348879}}
Я проверил ядро на наличие ошибок, но вроде все в порядке:
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\App\Http\Middleware\Localization::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
];
также с файлом session.php все в порядке:
'driver' => env('SESSION_DRIVER', 'file'),
Я смогу получить значение, если, скажем, оно находится в index.php следующим образом:
public function index()
{
Log::info('In Index Method');
Log::info('Session Data in Index:', session()->all());
session()->flash('product_deleted', 'Category deleted successfully!');
$categories = Category::with('parent', 'children')->get();
return view('admin.productCategory.index', compact('categories'));
}
Подробнее здесь: https://stackoverflow.com/questions/788 ... laravel-11