Проблема в том, что третьи параметры из \Illuminate\Http\Request
не в том месте, где вы должны передавать параметры маршрута. Если вы посмотрите на этот класс, то обнаружите, что третьи параметры - это пользовательские атрибуты (я не знаю точно, что это).
Чтобы смоделировать запрос, вы можете использовать метод create
из\Illuminate\Http\Request
.
Пример. маршрут Route::post('/users/{user}', 'UsersController@store')
.
$request = Request::create('/users/1', 'POST', [
'name' => 'john doe',
]);
dd($request->route('user')); // 1
Вот подробности:
/**
* Creates a Request based on a given URI and configuration.
*
* The information contained in the URI always take precedence
* over the other information (server and parameters).
*
* @param string $uri The URI
* @param string $method The HTTP method
* @param array $parameters The query (GET) or request (POST) parameters
* @param array $cookies The request cookies ($_COOKIE)
* @param array $files The request files ($_FILES)
* @param array $server The server parameters ($_SERVER)
* @param string|resource|null $content The raw body data
*
* @return static
*/
public static function create($uri, $method = 'GET', $parameters = [], $cookies = [], $files = [], $server = [], $content = null)
{
....
}