Вы должны быть более ясными с вопросом. Итак, я понимаю, что у вас есть отдельные столбцы для дня, месяца и года. Когда вы отправляете форму, вы хотите, чтобы эти поля были сохранены в одном столбце «datetime» в базе данных.
Я не знаю, какую версию laravel вы используете, но я ожидаю, что она будет самой последней.
Я бы предложил вам использовать одно поле ввода даты и проанализировать его с помощью strtotime
или Carbon
, чтобы вы могли проверить его с помощью методов проверки Laravel, таких как date, date_format, before, after
и т. Д. Вот пример:
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');
вам нужно будет проверить его отдельно, хотя.
Вы поняли ...