Laravel показывает 404 после изменения в сеансах

#laravel #vue.js #routes #inertiajs

#laravel #vue.js #маршруты #инерция

Вопрос:

Я столкнулся со странной проблемой. Я заставляю пользователя ждать и устанавливаю некоторую информацию в сеансе. После этого я вижу 404. в журналах ничего нет, и я не уверен, что происходит

 public function index($userId)
{
    $users = UserRelation::where('relation_user_id', Auth::user()->id)->get()->pluck('relation_user_id')->toArray();

    if (in_array($userId, $users)) {
        if (empty(Session::get('original_user'))) {
            Session::put('original_user', Auth::user());
            Auth::loginUsingId($userId);
            Session::put('is_logged_in_as_delegate', true);
            return Inertia::location(route('index'));

        } else {
            dd('in here');
        }
    }

    abort(403);
}
 

Комментарии:

1. что произойдет , если вы прокомментируете эту строку : return Inertia::location(route('index')); ?

2. По-прежнему показывает 404, но это работает без изменений сеанса. Перенаправляет без ошибок

3. Это не ответ на ваш вопрос, просто к вашему сведению 🙂 Вы можете использовать метод exists() с построителем запросов / Eloquent, чтобы упростить проверку: $exists = UserRelation::where('relation_user_id', Auth::id())->exists() .

Ответ №1:

попробуйте Auth::logout(); перед Auth::loginUsingId($userId);