J'essaie d'envoyer une route à l'ancienne, sans utiliser les balises {{}} de Blade. Je rencontre un problème, car le framework jette mon itinéraire comme non défini. Quelqu'un peut-il m'aider?
Voici ma balise de formulaire:
Route [companyStore] not defined. (View:
Mon itinéraire
public function store(Request $request){
$company_name = $request->input('companyname');
$company_sector = $request->input('companyname');
$company_address = $request->input('companyaddress');
$company_phone = $request->input('companyphone');
$company_website = $request->input('companywebsite');
$company_representative = Auth::user()->id;
Company::create([
'name' => $company_name,
'sector' => $company_sector,
'address' => $company_address,
'phone' => $company_phone,
'website' => $company_website,
'representative_id' => $company_representative
]);
$company = Company::where('representative_id', $company_representative)->first();
User::where('id', $company_representative)->update(array('company_id' => $company->id));
return redirect('/admin/home');
}
Mon contrôleur (le le nom de la fonction peut vous aider à comprendre)
Route::post('companyStore', 'CompanyController@store');
L'erreur est toujours:
<form method="POST" action="{{ route('companyStore') }}">
3 Réponses :
Lorsque vous utilisez l'assistant route , il attend une route nommée. Définissez donc votre itinéraire comme suit:
<form method="POST" {{ action('CompanyController@store') }}>
ou utilisez:
<form method="POST" action="{{ url('/companyStore') }}">
ou utilisez:
Route::post('companyStore', 'CompanyController@store')->name('companyStore');
Vous pouvez définir une route.
<form method="POST" action="{{ route('companyStore') }}">
et utiliser celle-ci:
Route::post('companyStore', 'CompanyController@store')->name('companyStore');
Je ne sais pas pourquoi @nakov a proposé des accessoires {{url ('/ companyStore')}}
Il suffit de changer
FORMULAIRE
Route :: post ('companyStore', 'CompanyController @ store');
À
Route :: post ('companyStore', 'CompanyController @ store') -> nom ('companyStore');
Fonctionnera simplement