我有一个刀片页面有一个表单要更新,另一个表单要保存
我的问题如何根据方法类型提交两者
我试图像下面的例子那样实现
public function postCompanyProfileSettings(Request $request)
{
if($request->isMethod('POST')) {
// do something to save
}
if($request->isMethod('PUT')) {
// do something to update
}
}
它与POST方法配合良好,但PUT返回Route Exception MethodNotAllowedHttpException in RouteCollection.php line 219:
我认为在routs.php中的问题,但我不知道为多种形式(多种方法)处理一条路线究竟要做什么
我在route.php档案中的路线
//setting routes...
get('/home/settings', 'CompanyProfileController@getCompanyProfileSettings');
post('/home/settings','CompanyProfileController@postCompanyProfileSettings');
有没有办法实现这一目标?
答案 0 :(得分:1)
或者你可以使用隐藏的输入
public function postCompanyProfileSettings(Request $request)
{
if(isset($request->get('update')) {
// do something to update
}
// do something to save
}
路线..
post('/home/settings','CompanyProfileController@postCompanyProfileSettings');
答案 1 :(得分:1)
在我看来,我会使用与POST相同的方法。
第一种形式:
<form method="POST" action={{ url('vault/{batch_centre_id}/candidates/{id}', ['form' => '1']) }}>
第二种形式:
<form method="POST" action={{ url('vault/{batch_centre_id}/candidates/{id}', ['form' => '2']) }}>
在您的行动检查表中:
if ($request->get('form') == 1) {
return $request->get('form');
} else if ($request->get('form') == 2) {
return $request->get('form');
}
return result;
因此,从上面您可以在一个页面上拥有无限的表单,只要您标记表单并从控制器验证它们。
选中此answer