The route Route::get('students/{student}', ...) is a dynamic route that matches any URL segment after students/. For example:
/students/123 /students/xyz
This means when the route Route::get('students/{student}', ...) is defined before Route::get('/students/create', ...), Laravel tries to match /students/create with students/{student}. It interprets create as the {student} parameter, which likely causes the controller method or validation to fail.
To avoid conflicts between static and dynamic routes, always define specific routes before dynamic ones.