Для своего проекта я использую laravel
, а также использовал fullcalendar для отображения сделанных мною событий. Я уже создал код для добавления и обновления деталей события.
Что я хочу знать, так это как я могудобавить событие, а также убедиться, что этот конкретный временной интервал доступен и не вызовет конфликта с другим событием?
My EventController.php
public function store(Request $request)
{
//dd($request);
$this->validate($request, [
'event_name' => 'required|string|min:2|max:255',
'daterange' => 'required',
]);
$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]);
$tempdate1 = date_format($date1, 'Y-m-d');
$tempdate2 = date_format($date2, 'Y-m-d');
$time_start = $request->input('start_time');
$time_end = $request->input('end_time');
$combinedDT1 = date('Y-m-d H:i:s', strtotime("$tempdate1 $time_start"));
$combinedDT2 = date('Y-m-d H:i:s', strtotime("$tempdate2 $time_end"));
$event_dow = [];
if($request->has('monCheck'))
{
$event_dow[] = (int)$request->monCheck;
};
if($request->has('tueCheck'))
{
$event_dow[] = (int)$request->tueCheck;
};
if($request->has('wedCheck'))
{
$event_dow[] = (int)$request->wedCheck;
};
if($request->has('thurCheck'))
{
$event_dow[] = (int)$request->thurCheck;
};
if($request->has('friCheck'))
{
$event_dow[] = (int)$request->friCheck;
};
if($request->has('satCheck'))
{
$event_dow[] = (int)$request->satCheck;
};
if($request->has('sunCheck'))
{
$event_dow[] = (int)$request->sunCheck;
};
//$eventDow = implode(',', $event_dow);
$event = new event([
'event_name' => $request->input('event_name'),
'event_desc' => $request->input('event_desc'),
'event_venue' => $request->input('event_venue'),
'event_start' => $combinedDT1,
'event_finish' => $combinedDT2,
'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');
}
Просмотр моего календаря ![enter image description here](https://i.stack.imgur.com/cNtZl.jpg)
Я хочу избегать таких экземпляров, которые имеют 2 события, которые конфликтуют друг с другом по расписанию.
![enter image description here](https://i.stack.imgur.com/xis4B.jpg)