【问题标题】:Extending adesigns EventEntity class扩展设计 EventEntity 类
【发布时间】:2016-10-25 02:49:55
【问题描述】:

大家好,我是 Symfony 的新手,正在使用奏鸣曲管理包制作网络。我想在奏鸣曲管理员的adesigns calendar bundle 上添加事件,但是当我扩展EventEntity 类并尝试添加新事件时,它给了我以下错误:

类型错误:参数 2 传递给 AppBundle\Entity\Schedule::__construct() 必须是 日期时间,未给出,在 /path/to/project/vendor/sonata-project/doctrine-orm-admin-bundle/Model/ModelManager.php 中调用 在第 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;
    }
}

【问题讨论】:

    标签: php symfony fullcalendar sonata-admin


    【解决方案1】:

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

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

    【讨论】:

    猜你喜欢
    • 2019-12-31
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多