我的查看代码是
<div class="form-group {!! $errors->has('date_of_birth') ? 'has-error' : '' !!}">
{!! Form::label('date_of_birth', 'Date of Birth', ['class' => 'control-label']) !!}
<div class="form-inline">
{!! Form::selectRange('date_of_birth[day]', 1, 31, null, ['class' => 'selectbody fl']) !!}
{!! Form::selectMonth('date_of_birth[month]', null, ['class' => 'selectbody fl']) !!}
{!! Form::selectYear('date_of_birth[year]', date('Y') - 3, date('Y') - 40, null, ['class' => 'selectbody fl']) !!}
</div>
{!! $errors->first('date_of_birth', '<span class="help-block">:message</span>') !!}
</div>
在这里,我得到了这些参数,并且数组中有DOB
public function signupme(Request $request)
{
$date_of_birth=$request->date_of_birth;
print_r('$date_of_birth');
}
定义列以保存DOB
$data= array(
"mybirthday"=>$date_of_birth,
);
保存在数据库中
if(DB::table('userspathik')->insert($data))
{
return redirect('signup')->with("success","You are registered");
}
答案 0 :(得分:0)
您应该对这个问题更加清楚。因此,据我了解,您有分别用于日,月和年的列。提交表单时,您希望将这些字段保存在数据库的单个“ datetime”列中。
我不知道您使用的是哪个laravel版本,但我希望它是最新版本。
我建议您使用单个日期输入字段,并使用strtotime
或Carbon
进行解析,这样您就可以使用date, date_format, before, after
等laravel验证方法对其进行验证。这是示例:
public function signMeUp(Request $request)
{
$validatedInput = $request->validate([
'dob' => 'required|date|date_format:"d/m/Y"'
]);
$dob = $validatedInput['dob'];
# Parse the date according to format
$dob = \Carbon\Carbon::createFromFormat('d/m/Y', $dob);
# Replace with your required model
$model = new $model();
$model->$dob;
$model->save();
return redirect('/register')->with('status', 'Registration Successful');
}
如果要使用单独的输入字段(如日,月和年),则可以将这些字段组合在一起,如
$dob = $request->get('dob_day').'/'.$request->get('dob_month').'/'.$request->get('dob_year');
不过,您将需要单独验证它。 你明白了...