2016-04-27 16 views
1

私は(2つのテーブルのための次のコードを持っている:PHPのbin /コンソール教義広告&市)私はCMDを実行すると を 『:発生:エンティティMyBundle』セッターを生成しますそしてgeters(Symfony3) このエラーが表示されます。symfonyの3 ralation OneToMany:enities

[意味論的エラー]注釈 "@JoinColumn" プロパティに LIGO \ PlatformBundle \エンティティ\広告:: $都市が輸入されることはなかったです。 このアノテーションに「使用」ステートメントを追加することを忘れていましたか? 500 内部サーバーエラー - 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; 
+0

どのエラー? ... – Letsrocks

+0

ちょっと@Letsrocks [意味的なエラー]プロパティLigo \ PlatformBundle \ Entity \ Advert :: $ citiesの注釈 "@JoinColumn"は決してインポートされませんでした。この注釈に「使用」ステートメントを追加することを忘れていましたか? 500内部サーバーエラー - AnnotationException – emwww

答えて

2

あなたは、具体的にそれをインポートしていなかったので、ORM(@ORM\JoinColumn)とJoinColumnアノテーションをプレフィックスする必要があります。

+0

ありがとうございます。すべての注釈で@ORMの問題を解決しました。 – emwww

+0

クラスの広告 { /** * @ORM \多対多(targetEntity = "市") * @ORM \ JoinTable(名前= "adverts_cities"、= "advert_id" * joinColumns = {@ ORM \ JoinColumn(名、referencedColumnName = "id")}、 * inverseJoinColumns = {@ ORM \ JoinColumn(name = "city_id"、referencedColumnName = "id"、unique = true)} *) */ プライベート$ cities; – emwww

関連する問題