Symfony3 - fullcalendar.js 事件未显示

Symfony3 - fullcalendar.js events not displaying

我在 Symfony 3.4 中使用 fullcalendar.js(因为从版本 3 开始,所有的包都被弃用了)。当我在 js 中硬编码他们正在显示的事件时,日历本身正在显示。但是当我用 JSON 发送我的事件时,它们不会显示自己并且日历是空白的。但是,json 源格式正确,并且确实被我的页面捕获(http 200 响应)。这是我的控制器,它获取了数据并发送了 JSON:

 /**
 * @Route("/calendrierFeed", name="calendrierFeed", methods={"GET"})
 */
public function feedAction()
{
    $em = $this->getDoctrine()->getManager();
    $aquariums = $em->getRepository('AppBundle\Entity\Aquarium')
        ->findBy(
            array('user' => $this->getUser()->getId())
        );
    $events = $em->getRepository('AppBundle\Entity\Calendrier')
        ->findBy(array(
            'aquarium' => $aquariums
        ));

    $calendrier = array();

    foreach ($events as $event) {
        $e = array();
        $e['id'] = $event->getId();
        $e['title'] = $event->getTypeEntretiens() . " pour l'aquarium " . $event->getAquarium()->getNom();
        $e['start'] = $event->getDateEntretiens();
        if ($event->getRealise()) {
            $e['color'] = 'green';
        } else {
            $e['color'] = 'red';
        }
        $e['allDay'] = true;

        array_push($calendrier, $e);
    }
    return $this->json($calendrier);
}

这是我的树枝模板:

{% block stylesheets %}
    {{ parent() }}
    <link rel="stylesheet" href="{{ asset('css/membre/fullcalendar.min.css') }}">
{% endblock %}

{% block body %}
    <div id='calendar'></div>
{% endblock %}

{% block javascripts %}
    {{ parent() }}
    <script src="{{ asset('js/membre/moment.min.js') }}"></script>
    <script src="{{ asset('js/membre/jquery.min.js') }}"></script>
    <script src="{{ asset('js/membre/fullcalendar.min.js') }}"></script>
    <script src="{{ asset('js/membre/fr.js') }}"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $('#calendar').fullCalendar({
                events: '/calendrierFeed',
                defaultView: 'month',
                selectable:true,
                selectHelper:true,
                editable:true
            });
        });
    </script>
{% endblock %}

这是我的 JSON 供稿

[{"id":2,"title":"oui pour l\u0027aquarium 200L","start":{"date":"2018-02-12 00:00:00.000000","timezone_type":3,"timezone":"UTC"},"color":"red","allDay":true}]

你的日期应该是一个字符串,而不是一个对象。

我在我的个人项目中查看了我的 json 提要,我是这样得到的:

"start":"2018-02-13"

来自文档

The date/time an event begins. Required.

A Moment-ish input, like an ISO8601 string. Throughout the API this will become a real Moment object.

这意味着您应该格式化日期

$e['start'] = $event->getDateEntretiens()->format('Y-m-d');