Laravel 5 中的 2 个日期选择器,但仅保存最后一个值
2 datepickers in Laravel 5, but only last value gets saved
正如标题所说,我在同一页上有 2 datepickers。当我填写它们时,最后一个值被保存到第一个变量中,最后一个变量在数据库中设置为 0000:00:00 00:00:00。
查看
<!-- First picker -->
<input class="form-control datetimepicker" required="required" name="start_date" type="text" id="start_date">
<!-- Second picker -->
<input class="form-control datetimepicker" required="required" name="close_date" type="text" id="close_date">
<script type="text/javascript">
$(function () {
$('.datetimepicker').datetimepicker({
locale: 'nl',
sideBySide: true
});
});
</script>
控制器
public function store(Request $request)
{
$this->validate($request, [
'start_date' => 'required|date_format:d-m-Y H:i|after:tomorrow',
'close_date' => 'required|date_format:d-m-Y H:i|after:start_date',
]);
Election::create($request->all());
}
型号
protected $dates = [
'start_date',
'close_date'
];
public function setStartDateAttribute($date)
{
$this->attributes['start_date'] = Carbon::createFromFormat('d-m-Y H:i', $date, 'Europe/Amsterdam')->toDateTimeString();
}
public function setCloseDateAttribute($date)
{
$this->attributes['start_date'] = Carbon::createFromFormat('d-m-Y H:i', $date, 'Europe/Amsterdam')->toDateTimeString();
}
基本上,我在视图中 close_date
中输入的值被保存在数据库的 start_date
中,并且 close_date
设置为空。
知道如何将两个值都保存在正确的位置吗?
更改您的 setCloseDateAttribute
功能:
public function setCloseDateAttribute($date)
{
$this->attributes['close_date'] = Carbon::createFromFormat('d-m-Y H:i', $date, 'Europe/Amsterdam')->toDateTimeString();
}
目前它也写入$this->attributes['start_date']
正如标题所说,我在同一页上有 2 datepickers。当我填写它们时,最后一个值被保存到第一个变量中,最后一个变量在数据库中设置为 0000:00:00 00:00:00。
查看
<!-- First picker -->
<input class="form-control datetimepicker" required="required" name="start_date" type="text" id="start_date">
<!-- Second picker -->
<input class="form-control datetimepicker" required="required" name="close_date" type="text" id="close_date">
<script type="text/javascript">
$(function () {
$('.datetimepicker').datetimepicker({
locale: 'nl',
sideBySide: true
});
});
</script>
控制器
public function store(Request $request)
{
$this->validate($request, [
'start_date' => 'required|date_format:d-m-Y H:i|after:tomorrow',
'close_date' => 'required|date_format:d-m-Y H:i|after:start_date',
]);
Election::create($request->all());
}
型号
protected $dates = [
'start_date',
'close_date'
];
public function setStartDateAttribute($date)
{
$this->attributes['start_date'] = Carbon::createFromFormat('d-m-Y H:i', $date, 'Europe/Amsterdam')->toDateTimeString();
}
public function setCloseDateAttribute($date)
{
$this->attributes['start_date'] = Carbon::createFromFormat('d-m-Y H:i', $date, 'Europe/Amsterdam')->toDateTimeString();
}
基本上,我在视图中 close_date
中输入的值被保存在数据库的 start_date
中,并且 close_date
设置为空。
知道如何将两个值都保存在正确的位置吗?
更改您的 setCloseDateAttribute
功能:
public function setCloseDateAttribute($date)
{
$this->attributes['close_date'] = Carbon::createFromFormat('d-m-Y H:i', $date, 'Europe/Amsterdam')->toDateTimeString();
}
目前它也写入$this->attributes['start_date']