Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery fullcalendar未呈现事件_Jquery_Fullcalendar_Symfony - Fatal编程技术网

Jquery fullcalendar未呈现事件

Jquery fullcalendar未呈现事件,jquery,fullcalendar,symfony,Jquery,Fullcalendar,Symfony,我正在使用symfony的完整日历。但是,事件尚未呈现。我想尽一切办法 控制器代码 /** * @Route("/get-booking-to-calendar/{id}", name="booking-to-calendar") */ public function BookingCalendarAction($id) { $em=$this->getDoctrine()->getManager(); $field = $em->getReposit

我正在使用symfony的完整日历。但是,事件尚未呈现。我想尽一切办法

控制器代码

  /**
 * @Route("/get-booking-to-calendar/{id}", name="booking-to-calendar")
 */
public function BookingCalendarAction($id)
{
    $em=$this->getDoctrine()->getManager();

    $field = $em->getRepository('AppBundle:Field')->find($id);

    $bookings= $em->getRepository('AppBundle:Booking')->findBy(array('field_booking' => $field->getId()));

    foreach($bookings as $booking)
    {
        $booking_array[] = array(
            'id' => $booking->getId(),
            'title' => $booking->getDuration(),
            'start' => $booking->getStartTime(),
            'end' => $booking->getEndTime(),
            'allDay'=>true,
        );

    }
    $response = new Response(json_encode($booking_array));
    $response->headers->set('Content-Type', 'application/json');
    return $response;


}
小树枝

 <script>
    $(document).ready(function() {

        var calendar = $('#calendar').fullCalendar({
            editable: true,
            timeFormat: 'h:mm',
            allDaySlot:false,

            slotDuration : '00:15:00',
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },

            events: "{{ path ('booking-to-calendar',  {'id':field_id}) }}",
            // Convert the allDay from string to boolean

            eventRender: function(event, element, view) {
                if (event.allDay === 'true') {
                    event.allDay = true;
                } else {
                    event.allDay = true;
                }
            },

        });
    });

</script>
看来一切都好。但这些事件并没有出现在日程表上

这里是html呈现

你试过用钩子吗?手动填充事件对象,查看是否仍然存在问题。Fullcal没有正确解析我的开始/结束ISO8901,我也遇到了同样的问题。在eventDataTransform中将JSON开始/结束数据分配给事件对象的开始/结束参数之前,我必须将其解析为。祝你好运

你试过用钩子吗?手动填充事件对象,查看是否仍然存在问题。Fullcal没有正确解析我的开始/结束ISO8901,我也遇到了同样的问题。在eventDataTransform中将JSON开始/结束数据分配给事件对象的开始/结束参数之前,我必须将其解析为。祝你好运

最后我对它进行了排序

首先,我创建一个repository类并添加以下函数

 public function GetBookings($fieldId)
{
    $sql = "SELECT b.id, b.start_time as start, b.end_time as end, CONCAT( c.first_name,', ', c.last_name) AS title FROM bookings b  LEFT JOIN clients c on b.client_id = c.id WHERE b.field_id=:fieldId ";
    $params = array(
        ':fieldId'=>$fieldId
    );

    return $this->getEntityManager()->getConnection()->executeQuery($sql, $params)->fetchAll();

}
然后更换我的控制器

/**
 * @Route("/get-booking-to-calendar/{id}", name="booking-to-calendar")
 */
public function BookingCalendarAction($id)
{
    $em=$this->getDoctrine()->getManager();

    $bookings= $em->getRepository('AppBundle:Booking')->GetBookings($id);
    $response = new Response(json_encode($bookings));
    $response->headers->set('Content-Type', 'application/json');
    return $response;

}
最后我把它分类了

首先,我创建一个repository类并添加以下函数

 public function GetBookings($fieldId)
{
    $sql = "SELECT b.id, b.start_time as start, b.end_time as end, CONCAT( c.first_name,', ', c.last_name) AS title FROM bookings b  LEFT JOIN clients c on b.client_id = c.id WHERE b.field_id=:fieldId ";
    $params = array(
        ':fieldId'=>$fieldId
    );

    return $this->getEntityManager()->getConnection()->executeQuery($sql, $params)->fetchAll();

}
然后更换我的控制器

/**
 * @Route("/get-booking-to-calendar/{id}", name="booking-to-calendar")
 */
public function BookingCalendarAction($id)
{
    $em=$this->getDoctrine()->getManager();

    $bookings= $em->getRepository('AppBundle:Booking')->GetBookings($id);
    $response = new Response(json_encode($bookings));
    $response->headers->set('Content-Type', 'application/json');
    return $response;

}

上面的代码看起来不错。它在哪里失败?我没有看到这方面的代码。eventRender函数看起来会将
event.allDay
设置为true,无论发生什么情况。这是故意的吗?另外,你能发布日历div的呈现html吗?亲爱的Kal,我添加了图片。我仍然找不到解决这个问题的方法。上面的代码看起来不错。它在哪里失败?我没有看到这方面的代码。eventRender函数看起来会将
event.allDay
设置为true,无论发生什么情况。这是故意的吗?另外,你能发布日历div的呈现html吗?亲爱的Kal,我添加了图片。我仍然找不到解决这个问题的方法。我尝试了那种方式,但仍然没有呈现事件。我尝试了那种方式,但仍然没有呈现事件