Laravel 表单路由未定义

Posted

技术标签:

【中文标题】Laravel 表单路由未定义【英文标题】:Laravel form route not defined 【发布时间】:2019-09-10 10:45:18 【问题描述】:

我正在尝试以旧方式发送路由,而不使用 Blade 的 标签。我遇到了一个问题,因为框架将我的路由抛出为未定义。有人可以帮我吗?

这是我的表单标签:

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

我的路线

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

我的控制器(函数名可能会帮助你理解)

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

错误总是:

Route [companyStore] not defined. (View: 

【问题讨论】:

【参考方案1】:

当您使用 route 助手时,它需要一个命名路由。因此,将您的路线定义为:

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

或使用:

<form method="POST" action=" url('/companyStore') ">

或使用:

<form method="POST"  action('CompanyController@store') >

【讨论】:

【参考方案2】:

您可以定义路线。

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

并使用这个:

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

【讨论】:

【参考方案3】:

我不知道为什么@nakov 支持 url('/companyStore')

只是改变

表格

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

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

会起作用的

【讨论】:

以上是关于Laravel 表单路由未定义的主要内容,如果未能解决你的问题,请参考以下文章

我在 Laravel 中的表单出现“路由未定义错误”

Laravel 5.1 UrlGenerator 路由未定义错误

Laravel 路由动作未定义

Laravel 路由错误:路由 [登录] 未定义

Laravel 路由未定义错误

Laravel 8 中未定义命名路由