大家好,我是Symfony上的新手,并使用Sonata Admin Bundle制作网络。我想在Sonata管理员的Adesigns日历捆绑包上添加事件,但是当我扩展EventEntity类并尝试添加新事件时,它给了我以下错误:
类型错误:参数2传递给 AppBundle Entity scheday :: __ construct()必须是一个实例 datetime,none vish,in/path/to/project/vendor/sonata-project/doctrine-orm-admin-bundle/model/modelmanager.php 在第509行
上
我知道它会导致DateTime的类型,但我不知道如何解决。
这是扩展代码:
<?php
namespace AppBundleEntity;
use DoctrineORMMapping as ORM;
use ADesignsCalendarBundleEntityEventEntity;
/**
* Schedule
*
* @ORMTable(name="schedule")
* @ORMEntity(repositoryClass="AppBundleRepositoryScheduleRepository")
*/
class Schedule extends EventEntity {
/**
* @var int
*
* @ORMColumn(name="id", type="integer")
* @ORMId
* @ORMGeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
* @ORMColumn(name="title", type="string", length=255)
*/
protected $title;
/**
* @var string
* @ORMColumn(name="url", type="string", length=255, nullable=true)
*/
protected $url;
/**
* @var string
* @ORMColumn(name="bgColor", type="string", length=255)
*/
protected $bgColor;
/**
* @var string
* @ORMColumn(name="fgColor", type="string", length=255)
*/
protected $fgColor;
/**
* @var string
* @ORMColumn(name="cssClass", type="string", length=255, nullable=true)
*/
protected $cssClass;
/**
* @var bool
* @ORMColumn(name="allDay", type="boolean")
*/
protected $allDay;
/**
* @var DateTime
* @ORMColumn(name="startDatetime", type="datetime")
*/
protected $startDatetime;
/**
* @var DateTime
* @ORMColumn(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;
}
}
如果您尝试扩展不是为您遇到问题而设计的学说实体。
您应该使用事件侦听器或订户类。