【发布时间】:2017-03-16 21:44:40
【问题描述】:
我运行 Symfony 3.1.5、PHP 7.0.12 和 composer 1.2.1。
我有一个简单的实体:
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Class Event
* @package AppBundle\Entity
* @ORM|Entity
* @ORM|Table(name="event")
*/
class Event
{
/**
* @ORM|Column(type="integer")
* @ORM|Id
* @ORM|GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM|Column(type="guid")
*/
private $uuid;
/**
* @ORM|Column(type="string", length=100)
*/
private $name;
/**
* @ORM|Column(type="text")
*/
private $description;
/**
* @ORM|Column(type="datetimetz")
*/
private $startDate;
/**
* @ORM|Column(type="datetimetz")
*/
private $endDate;
/**
* @ORM|Column(type="text")
*/
private $location;
}
The documentation states 我可以运行
php bin/console doctrine:generate:entities AppBundle/Entity/Event
为了为我的私有属性创建 getter 和 setter。我在那里遇到以下错误:
[Doctrine\Common\Annotations\AnnotationException]
[Semantical Error] The annotation "@Doctrine\ORM\Mapping" in class AppBundle\Entit
y\Event does not exist, or could not be auto-loaded.
由于注释以别名@ORM 的形式存在,我猜这是一个自动加载问题。
我搜索了一下,发现了一些链接到this plugin 的old post,这也不起作用。
所有帖子似乎都与Doctrine\ORM\Mapping类没有以常规方式自动加载,而是需要单独加载有关。但是我找不到关于如何为控制台启动和运行它的明确指南。你能帮忙吗?
【问题讨论】:
-
将
|替换为\例如@ORM\Entity
标签: php symfony doctrine-orm