Я сделал форму с тремя различными полями ввода, то есть день, месяц и год, и мне нужно вставить ее в базу данных в столбце «dob» в типе «дата». Как я могу вставить их все с форматом даты в одном столбце.
<div>
<input class="birthdayInput" type="number" name="birthday_day" id="birthday_day" size="2" maxlength="2" value=""/>
<input class="birthdayInput" type="number" name="birthday_month"id="birthday_month" size="2" maxlength="2" value=""/>
<input class="birthdayInput" type="number" name="birthday_year" id="birthday_year" size="4"maxlength="4" value=""/>
</div>
$da $request->birthday_day. ' ' . $request->birthday_month.' '. $request->birthday_year
Вы можете попробовать это.
Вы должны просто использовать ввод даты в html, это позволит пользователю выбрать дату одним ударом.
<form method="POST" action="{{ route('birthday.store') }}">
<input type="date" name="birthday">
</form
затем, когда он попадает в ваш контроллер, отформатируйте его с помощью Carbon следующим образом
public function store(Request $request)
{
$birthday = Carbon::parse($request->birthday)->format('Y-m-d');
//store to database here
}
Вы можете сохранить это в своей таблице сейчас, убедитесь, что столбец имеет тип даты
$table->date('birth_date');
Это способ, которым я бы сделал это. Просто немного повсюду.
Если вы хотите сохранить свой путь, просто объедините каждый сегмент дат следующим образом:
$birthday = $request->year . '-' . $request->month . '-' . $request->day;
Даты должны быть ГГГГ-ММ-ДД при вставке в столбец даты sql