1
votes

Itinéraire du formulaire Laravel non défini

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') }}">


0 commentaires

3 Réponses :


2
votes

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');


0 commentaires

0
votes

Vous pouvez définir une route.

<form method="POST" action="{{ route('companyStore') }}">

et utiliser celle-ci:

Route::post('companyStore', 'CompanyController@store')->name('companyStore');


0 commentaires

0
votes

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


0 commentaires