Hello I got some problems with fetching column 'start' and 'end' events to my calendar. I made loop and its working, title, date its showing on calendar but time doesnt work. All events is setting on allDay event but i set allDay false. I made create form and working good event make and sending to database. But this showing is really anoying. I trying fixed it but i dont know where i made mistake.
Controller:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\HomeModel;
use MaddHatter\LaravelFullcalendar\Event;
use Illuminate\Support\Facades\DB;
use DateTime;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index(){
$event = HomeModel::all();
foreach ($event as $eve) {
$events[] = \Calendar::event(
$eve->title, //event title
$eve->name,
$eve->start, //start time (you can also use Carbon instead of DateTime)
$eve->end, //end time (you can also use Carbon instead of DateTime)
$eve->id //optionally, you can specify an event ID
);
//die($event);
}
$calendar = \Calendar::addEvents($events)
->setOptions([
'FirstDay' => 1,
'contentheight' => 650,
'editable' => false,
'allDay' => false,
'aspectRatio' => 2,
'slotLabelFormat' => 'HH:mm:ss',
])->setCallbacks([]);
return view('home', compact('calendar'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$time = explode(" - ", $request->input('daterange'));
$event = new HomeModel;
$event->name = $request->input('name');
$event->title = $request->input('title');
$event->start = $time[0];
$event->end = $time[1];
$event->save();
$request->session()->flash('success', 'The event was successfully saved!');
return redirect('home/create');
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class HomeModel extends Model
{
protected $table = 'events'; // you may change this to your name table
public $timestamps = true; // set true if you are using created_at and updated_at
protected $primaryKey = 'id'; // the default is id
}
View:
@extends('layouts.app')
@section('content')
@endsection
@section('calendar')
<div class="panel panel-default" >
<div class="panel-body">
<a class="btn btn-default" href="">Create</a>
<a class="btn btn-default" href="">Edit</a>
<a class="btn btn-default" href="">Delete</a>
</div>
</div>
<div class="panel-body">
{!! $calendar->calendar() !!}
{!! $calendar->script() !!}
</div>
</div>
@endsection
via Mariusz