#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);