我有以下代码(对于2个表格的广告和城市):当我运行cmd 'php bin/console doctrine:generate:entities MyBundle'来生成setter和geter(Symfony3)时出现此错误:
[语义错误] 属性中的注释"@JoinColumn" Ligo''PlatformBundle''Entity''Advert::$cities 从未导入。你 也许忘记为此注释添加"使用"语句?500 内部服务器错误 - 注释异常
<?php
namespace Ligo'PlatformBundle'Entity;
use Doctrine'ORM'Mapping as ORM;
use Gedmo'Mapping'Annotation as Gedmo;
/**
* Advert
*
* @ORM'Table(name="advert")
* @ORM'Entity(repositoryClass="Ligo'PlatformBundle'Repository'AdvertRepository")
*/
class Advert
{
/**
* @ORM'ManyToMany(targetEntity="City")
* @ORM'JoinTable(name="adverts_cities",
* joinColumns={@JoinColumn(name="advert_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="city_id", referencedColumnName="id", unique=true)}
* )
*/
private $cities;
您需要在
JoinColumn 注释前面加上 ORM ( @ORM'JoinColumn
),因为您没有专门导入它。