Cannot read property 'hasTime' of undefined
<p>I'm using FullCalendar to display staff hours on a Calendar.</p>

<p>I'm pulling the events via an ajax call like so:</p>

<pre><code>"events": function(start, end, timezone, callback) {

  //create the data to be sent
  var objectToSend = {
    "start_date": start.format("YYYY-MM-DD"),
    "finish_date": end.format("YYYY-MM-DD"),
  };

  //craft and make the request
  $.ajax({
    url: 'calendar/test',
    data: objectToSend,
    type: 'POST',
    cache: false
  }).done(function(data) {
    //on success call `callback` with the data
    callback(data)
  })
}
</code></pre>

<p>This works perfectly fine, however I am getting an error showing in my console "Uncaught TypeError: Cannot read property 'hasTime' of undefined" and that this is coming from <code>fullcalendar.min.js:6</code>.</p>

<p>I'm not very fluent in JavaScript, but my searching suggests that I either haven't provided the <a href="https://stackoverflow.com/questions/28027748/fullcalendar-v-2-2-6-hastime-undefined-error-when-using-addeventsource">right dates</a> or have <a href="https://stackoverflow.com/questions/33989648/fullcalendar-typeerror-cannot-read-property-hastime-of-undefined">junk data</a> in there.</p>

<p>As far as I can tell I am providing all the right data. The function generating the data looks like so:</p>

<pre><code>public function test(Request $request) {
  $start_date = Input::get('start_date');
  $finish_date = Input::get('finish_date');

  $shifts = Roster::whereBetween('date', array($start_date, $finish_date)) - &gt; get();

  foreach($shifts as $shift) {
    $start = $shift - &gt; date.
    ' '.$shift - &gt; start_time;
    $finish = $shift - &gt; date.
    ' '.$shift - &gt; finish_time;

    $events[] = array(
      'title' =&gt; $shift - &gt; staff - &gt; first_name,
      'start' =&gt; Carbon::createFromFormat('Y-m-d H:i:s', $start) - &gt; toDateTimeString(),
      'end' =&gt; Carbon::createFromFormat('Y-m-d H:i:s', $finish) - &gt; toDateTimeString(),
      'id' =&gt; $shift - &gt; id,
      'allDay' =&gt; false
    );
  }

  return json_encode($events);
}
</code></pre>

<p>which outputs:</p>

<pre><code>[{"title":"Gemma","start":"2016-02-01 18:00:00","end":"2016-02-01 22:00:00","id":1,"allDay":false},
{"title":"Gemma","start":"2016-01-26 18:00:00","end":"2016-01-26 22:00:00","id":49,"allDay":false}]
</code></pre>

<p>Can anyone spot what I am doing wrong? I am simply trying to use this to render my events for the given month.</p>

<p><strong>Edit: output of console.log(data)</strong></p>

<p>It prints out:</p>

<pre><code>[Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object]
</code></pre>

<p>Opening this up I get:</p>

<p><code>0: Object</code></p>

<p>Opening this up I get:</p>

<pre><code>allDay: false
end: "2016-02-01 22:00:00"
id: 1
start: "2016-02-01 18:00:00"
title: "Gemma"
</code></pre>