我有一个包含input
字段的表单。现在我想要,如果有人submit
这个form
那么他会redirect
到另一页我写的确认函我已经搜索过,但我无法找到正确答案。
我的控制器:
public function store(Request $request)
{
$applicant = new Applicant();
$applicant['name'] = $request->input('name');
$applicant['sex'] = $request->input('sex');
$applicant['marital_status'] = $request->input('marital_status');
$applicant['date_of_birth'] = $request->input('date_of_birth');
$applicant['email'] = $request->input('email');
$applicant['fathers_name'] = $request->input('fathers_name');
$applicant['mothers_name'] = $request->input('mothers_name');
$applicant['spouses_name'] = $request->input('spouses_name');
$applicant['nationality'] = $request->input('nationality');
$applicant['present_add'] = $request->input('present_add');
$applicant->save();
\Session::flash('flash_message','Application has been successfully submitted.');
return redirect(route('confirmationMsg'));
}
我的路线:
Route::group(['prefix' => 'career'], function () {
Route::get('apply', ['as' => 'addApplicant', 'uses' => 'ApplicantController@create']);
Route::post('save', ['as' => 'saveApplicant', 'uses' => 'ApplicantController@store']);
Route::get('submitted', ['as' => 'confirmationMsg', 'uses' => 'ApplicantController@store']);
});
我的代码出错:
中的QueryException C:\ XAMPP \ htdocs中\告示栏\供应商\ laravel \框架的\ src \照亮\数据库\ Connection.php 第729行:SQLSTATE [23000]:完整性约束违规:1048列 'name'不能为null(SQL:插入
applicants
(name
,sex
,marital_status
任何人都可以帮我解决问题或我是怎么做到的?提前谢谢。
答案 0 :(得分:3)
试试这个:
return redirect('your_route');
Route::get('your_route', function () {
// return view from here or make a function call from a controller
});
答案 1 :(得分:0)
试试这个: -
return redirect()->route('confirmationMsg');
答案 2 :(得分:0)
请尝试以下方法:
return Redirect::to(url);
答案 3 :(得分:0)
我可以看到有关redirect()
和route()
用法的三个答案,但您的代码在这里是正确的。你甚至接受了其中一个答案(为什么?)。
错误说name
(可能很少有其他)字段为空,因此您需要确保从表单传递这些字段。您可以在store()
函数的开头使用此代码来检查这一点:
dd($request->all());
或者,您可以在迁移文件中将其中一个字段设置为nullable()
:
$table->string('name')->nullable();