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')->name('companyStore');
会起作用的
【讨论】:
以上是关于Laravel 表单路由未定义的主要内容,如果未能解决你的问题,请参考以下文章