我正在使用Laravel构建应用程序
在同一blade
文件中,我有不同的表格。在div
中,我有两种形式。
user
用一种形式在textarea
中写东西。按下确定按钮后,将重新加载页面并将数据存储在数据库表中。
另一种形式以模式出现,它包含user
可以设置的其他选项,并且在按下另一个按钮之后,数据应该存储在另一个数据库表中。
那么我该怎么做呢?我试图通过这种方式route
在控制器中使用该功能:
Route::post('/anam','AnamnController@store');
Route::post('/anam','AnamnController@storePar');
和标签形式:
<form action="{{ action('AnamController@store') }}" method="post" class="form-horizontal">
<form id="formA" action="{{ action('AnamnesiController@storePar') }}" method="" class="form-horizontal">
但是这些返回给我错误。那我该怎么办?
谢谢!
答案 0 :(得分:2)
除非您用get而不是post来更改一个功能,否则不可能对两个不同的功能使用相同的路由。
Route::post('/anam','AnamnController@store');
Route::get('/anam','AnamnController@storePar');
但是您可以这样做:
Route::post('/anam','AnamnController@store');
和标签形式:
<form action="{{ action('AnamController@store') }}" method="post" class="form-horizontal">
<input name="input_name" value="input-val" />
</form>
在控制器中:
public function store (){
if(request()->input_name == 'val-1')
this->store1();
else
this->store2();
}
protected function store1 () {
//
}
protected function store2 () {
//
}
答案 1 :(得分:0)
不能有两个具有相同 url 的路由和具有相同方法的路由。
在您的情况下,您有两种POST
方法将使用相同的 url 。第二个路由定义正在取消第一个。
重命名其中之一。