Php 使用daterange时如何存储开始时间和结束时间?
我正在使用fullcalendar显示数据库中的事件问题是,当我添加新事件时,数据库中似乎只存储了开始日期和结束日期。我的代码怎么了 EventController.phpPhp 使用daterange时如何存储开始时间和结束时间?,php,laravel,Php,Laravel,我正在使用fullcalendar显示数据库中的事件问题是,当我添加新事件时,数据库中似乎只存储了开始日期和结束日期。我的代码怎么了 EventController.php public function store(Request $request) { $this->validate($request, [ 'event_name' => 'required|string|min:2|max:255', 'daterange
public function store(Request $request)
{
$this->validate($request, [
'event_name' => 'required|string|min:2|max:255',
'daterange' => 'required',
]);
$time_start = $request->input('start_time');
$time_end = $request->input('end_time');
$tempDate = $request->input('daterange');
$temp2 = str_replace('-', null, $tempDate);
$temp2 = str_replace('/', '-', $temp2);
$temp3 = explode(' ', $temp2);
$date1 = date_create_from_format('m-d-Y', $temp3[0]);
$date2 = date_create_from_format('m-d-Y', $temp3[1]);
$event = new event([
'event_name' => $request->input('event_name'),
'event_desc' => $request->input('event_desc'),
'event_venue' => $request->input('event_venue'),
'event_start' => date_format($date1, 'Y-m-d'),
'event_finish' => date_format($date2, 'Y-m-d'),
'event_dow' => $event_dow, //days of week
'evcat_id' => $request->input('evcat_id'),
'user_id' => $request->input('user_id')
]);
$event->save();
Session::flash('success', 'Event Created Successfully');
return redirect()->route('event.sched');
}
public function store(Request $request)
{
//Validating title and body field
$this->validate($request, [
'title'=>'required',
'body'=>'required',
'color' =>'required',
'start_date' =>'required',
'end_date' =>'required',
]);
$event = new Event;
$event->title = $request->title;
$event->body = $request->body;
$event->color = $request->color;
$event->start_date = $request->start_date;
$event->end_date = $request->end_date;
$event->save();
return redirect()->route('events.index');
}
public function index()
{
$eventCount = Event::count();
$events = Event::latest()->paginate(8);
$event = [];
foreach ($events as $row){
$end_date = $row->end_date. "24:00:00";
$event[] = Calendar::event(
$row->title,
true,
new \DateTime($row->start_date),
new \DateTime($row->end_date),
$row->id,
[
'color' => $row->color,
'url' => 'events',
]
);
}
$calendar = \Calendar::addEvents($event);
return view('home', compact('events','calendar','eventCount'));
}
我的html文件
<div class="row">
<div class="col-md-8">
<label class="control-label">Start Date - End Date</label>
<input type="text" onclick = "getTime()" class="form-control input-daterange-timepicker" id = 'daterange' name="daterange" value="" />
<input type="text" id="start_time">
<input type="text" id="end_time">
</div>
</div>
EventController.php
public function store(Request $request)
{
$this->validate($request, [
'event_name' => 'required|string|min:2|max:255',
'daterange' => 'required',
]);
$time_start = $request->input('start_time');
$time_end = $request->input('end_time');
$tempDate = $request->input('daterange');
$temp2 = str_replace('-', null, $tempDate);
$temp2 = str_replace('/', '-', $temp2);
$temp3 = explode(' ', $temp2);
$date1 = date_create_from_format('m-d-Y', $temp3[0]);
$date2 = date_create_from_format('m-d-Y', $temp3[1]);
$event = new event([
'event_name' => $request->input('event_name'),
'event_desc' => $request->input('event_desc'),
'event_venue' => $request->input('event_venue'),
'event_start' => date_format($date1, 'Y-m-d'),
'event_finish' => date_format($date2, 'Y-m-d'),
'event_dow' => $event_dow, //days of week
'evcat_id' => $request->input('evcat_id'),
'user_id' => $request->input('user_id')
]);
$event->save();
Session::flash('success', 'Event Created Successfully');
return redirect()->route('event.sched');
}
public function store(Request $request)
{
//Validating title and body field
$this->validate($request, [
'title'=>'required',
'body'=>'required',
'color' =>'required',
'start_date' =>'required',
'end_date' =>'required',
]);
$event = new Event;
$event->title = $request->title;
$event->body = $request->body;
$event->color = $request->color;
$event->start_date = $request->start_date;
$event->end_date = $request->end_date;
$event->save();
return redirect()->route('events.index');
}
public function index()
{
$eventCount = Event::count();
$events = Event::latest()->paginate(8);
$event = [];
foreach ($events as $row){
$end_date = $row->end_date. "24:00:00";
$event[] = Calendar::event(
$row->title,
true,
new \DateTime($row->start_date),
new \DateTime($row->end_date),
$row->id,
[
'color' => $row->color,
'url' => 'events',
]
);
}
$calendar = \Calendar::addEvents($event);
return view('home', compact('events','calendar','eventCount'));
}
在你的刀片文件中
<script>
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay',
},
lang: 'fa',
isJalaali: true,
isRTL: true,
businessHours: true, // display business hours
editable: true,
events : [
@foreach($events as $event)
{
title : '{{ $event->title }}',
color : '{{ $event->color }}',
start : '{{ $event->start_date }}',
@if ($event->end_date)
end: '{{ $event->end_date }}',
@endif
},
@endforeach
],
eventClick: function(calEvent, jsEvent, view) {
$('#start_date').val(moment(calEvent.start).format('YYYY-MM-DD HH:mm:ss'));
$('#end_date').val(moment(calEvent.end).format('YYYY-MM-DD HH:mm:ss'));
$('#editModal').modal();
}
});
});
</script>
{!! $calendar->script() !!}
$(文档).ready(函数(){
$(“#日历”).fullCalendar({
标题:{
左:“上一个,下一个今天”,
中心:'标题',
右图:“月,agendaWeek,agendaDay”,
},
郎:"法",,
伊斯贾拉利:是的,
是的,
businessHours:true,//显示营业时间
是的,
活动:[
@foreach($events作为$event)
{
标题:“{{$event->title}}”,
颜色:“{{$event->color}}”,
开始:“{{$event->start_date}”,
@如果($event->end\u date)
结束:“{{$event->end_date}”,
@恩迪夫
},
@endforeach
],
eventClick:函数(calEvent、jsEvent、view){
$(“#开始日期”).val(矩(calEvent.start).format('YYYY-MM-DD HH:MM:ss');
$('#end_date').val(moment(calEvent.end).format('YYYY-MM-DD HH:MM:ss');
$('#editModal').modal();
}
});
});
{!!$calendar->script()!!}
问题在于,当我添加新事件时,数据库中似乎只存储了开始日期和结束日期。那不是<代码>$tempDate=$request->input('daterange')是否将您的日期范围提取到事件开始($date1
)和事件结束($date2)
。。所以,现在我很困惑。。我注意到由于某种原因,$time\u start
和$time\u end
从未在任何地方使用过。。