#laravel
#laravel
Вопрос:
Я пытаюсь создать пользователя, но получаю следующую ошибку: маршрут [users.store] не определен. (Просмотр: C:xampphtdocslaravel-sbresourcesviewsbackendusercreate.blade.php )… но когда я запускаю команду route:list, я получаю:
| | POST | users | users.uploadProfile | AppHttpControllersUserController@uploadProfile | web |
| | GET|HEAD | users/create | users.create | AppHttpControllersUserController@create | web |
| | GET|HEAD | users/{user} | users.show | AppHttpControllersUserController@show | web |
| | PUT|PATCH | users/{user} | users.update | AppHttpControllersUserController@update | web |
| | DELETE | users/{user} | users.destroy | AppHttpControllersUserController@destroy | web |
| | GET|HEAD | users/{user}/edit | users.edit | AppHttpControllersUserController@edit | web
что случилось с моим маршрутом users.store?
вот мой файл маршрута
Auth::routes(['verify' => true]);
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('users','UserController');
Route::post('users', 'UserController@uploadProfile')->name('users.uploadProfile');
При создании контроллера я запустил команду php artisan make:controller UserController -r
это метод сохранения в файле UserController:
public function store(Request $request)
{
$this->validate($request,[
'types' => 'required',
'last_name' => 'required',
'name' => 'required',
'email' => 'required|email|unique:users',
'phone' => 'required|unique:users',
'gender' => 'required',
'identity' => 'required',
'password' => 'required|string|min:8|confirmed',
'street' => 'required',
'suburb' => 'required',
'city' => 'required',
'province' => 'required|not_in:0',
'code' => 'required',
'school' => 'required',
'grade' => 'required|not_in:0'
]);
$user = User::create([
'types' => $request['types'],
'last_name' => $request['last_name'],
'name' => $request['name'],
'email' => $request['email'],
'phone' => $request['phone'],
'password' => Hash::make($request['password']),
]);
Ответ №1:
исправьте это
Route::resource('users','UserController');
Route::post('users', 'UserController@uploadProfile')->name('users.uploadProfile');// <-- this url is overwriting resource store url
чтобы исправить это post('users-profile')
, используйте другое имя
Route::resource('users','UserController');
Route::post('users-profile', 'UserController@uploadProfile')->name('users.uploadProfile');