扩展设计 EventEntity class

Extending adesigns EventEntity class

大家好,我是 Symfony 的新手,正在使用 sonata admin bundle 制作网络。我想在 adesigns calendar bundle from sonata admin but when i extend EventEntity class 上添加事件并尝试添加新事件,它给了我以下错误:

Type error: Argument 2 passed to AppBundle\Entity\Schedule::__construct() must be an instance of DateTime, none given, called in /path/to/project/vendor/sonata-project/doctrine-orm-admin-bundle/Model/ModelManager.php on line 509

我知道它会导致 DateTime 类型,但我不知道如何解决它。

扩展代码如下:

<?php

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use ADesigns\CalendarBundle\Entity\EventEntity;

/**
 * Schedule
 *
 * @ORM\Table(name="schedule")
 * @ORM\Entity(repositoryClass="AppBundle\Repository\ScheduleRepository")
 */
class Schedule extends EventEntity {
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @var  string
     * @ORM\Column(name="title", type="string", length=255)
     */
    protected $title;

    /**
     * @var  string
     * @ORM\Column(name="url", type="string", length=255, nullable=true)
     */
    protected $url;

    /**
     * @var  string
     * @ORM\Column(name="bgColor", type="string", length=255)
     */
    protected $bgColor;

    /**
     * @var  string
     * @ORM\Column(name="fgColor", type="string", length=255)
     */
    protected $fgColor;

    /**
     * @var  string
     * @ORM\Column(name="cssClass", type="string", length=255, nullable=true)
     */
    protected $cssClass;

    /**
     * @var  bool
     * @ORM\Column(name="allDay", type="boolean")
     */
    protected $allDay;

    /**
     * @var  DateTime
     * @ORM\Column(name="startDatetime", type="datetime")
     */
    protected $startDatetime;

    /**
     * @var  DateTime
     * @ORM\Column(name="endDatetime", type="datetime")
     */
    protected $endDatetime;

    public function __construct($title, \DateTime $startDatetime, \DateTime $endDatetime = null, $allDay = false, $hall) {
        parent::__construct($title, $startDatetime, $endDatetime, $allDay);
        $this->hall = $hall;
    }

    /**
     * Get id
     *
     * @return int
     */
    public function getId() {
        return $this->id;
    }
}

如果你尝试扩展一个 Doctrine 实体 not designed for that 你会遇到问题。

您应该改用 an event listener or a subscriber class