Symfony 3 关系 OneToMany 与联合 table 错误 genarate:enities
Symfony 3 ralation OneToMany with joint table error on genarate:enities
我有以下代码(用于 2 个表的广告和城市):
当我 运行 cmd 'php bin/console doctrine:generate:entities MyBundle' 生成 setter 和 geters (Symfony3)
出现此错误:
[Semantical Error] The annotation "@JoinColumn" in property
Ligo\PlatformBundle\Entity\Advert::$cities was never imported. Did you
maybe forget to add a "use" statement for this annotation? 500
Internal Server Error - AnnotationException
<?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
) 因为您没有专门导入它。
我有以下代码(用于 2 个表的广告和城市): 当我 运行 cmd 'php bin/console doctrine:generate:entities MyBundle' 生成 setter 和 geters (Symfony3) 出现此错误:
[Semantical Error] The annotation "@JoinColumn" in property Ligo\PlatformBundle\Entity\Advert::$cities was never imported. Did you maybe forget to add a "use" statement for this annotation? 500 Internal Server Error - AnnotationException
<?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
) 因为您没有专门导入它。