Это похоже на проблему, с которой я столкнулся давным-давно при использовании route () в функции pull для класса - похоже, он извлекает массив. Как вы сказали, это не то, что отражено в документации.
Посмотрите отчет об ошибке Laravel здесь .
Есть потенциальные обходные пути, если это действительно ваша проблема. Цитируется со страницы вопроса (укажите автомобиль для пользователя или что-то еще):
$route = $request->route();
$user_id = is_array($route) ? $route[2]['user_id'] : $route->parameter('user_id');
Довольно уродливо, я знаю. Но вы также можете немного изменить свою архитектуру и добавить идентификатор, как при обычном методе контроллера, если хотите, вроде:
public function myNewPreAuthThing(Request $request, $id){}
А затем отправьте правильный идентификатор авторизации. В любом случае, это не чисто, я знаю. Но ... я думаю, что вы наткнулись на ошибку.