2012-01-02 21 views
0

私は2つのエンティティItemとItemimageを持っています。 ItemからItemImageへの関係は、JoinColumnでOneToMany単方向です。私は教義文書の助けを借りました。Doctrine2 Symfony2プロジェクトでのマッピングの問題

  • image_idはは:アイテムIDがItemimageエンティティ
  • のitem_idでプロパティです:

    /** 
    * @ManyToMany(targetEntity="Itemimage") 
    * @JoinTable(name="itemimage", 
    *  joinColumns={@JoinColumn(name="item_id", referencedColumnName="id")}, 
    *  inverseJoinColumns={@JoinColumn(name="image_id", referencedColumnName="itemid")} 
    *  ) 
    */ 
    

    :JoinColumnとOneToMany一方向のは多対多の注釈で達成される項目の主キープロパティですエンティティ

私はItem Entityでプロパティ$ imagesを作成し、それに上記のdocblockを与えました。問題は、スキーマを更新しようとしたときです。私は教義エラーを受け取ります: "テーブル 'itemimage'は既に存在します"。私はそうではないと確信しています。私は何をすべきか分かりません。

私にこれを手伝ってください。

ありがとうございます!私はあなたの助けに感謝します。

答えて

0

ことになっている。他の二つのテーブルのマッピングだけを含有する第3のテーブル(itemimage_map)の創出につながる

/** 
* @ManyToMany(targetEntity="Itemimage") 
* @JoinTable(name="itemimage_map", 
*  joinColumns={@JoinColumn(name="item_id", referencedColumnName="id")}, 
*  inverseJoinColumns={@JoinColumn(name="image_id", referencedColumnName="id")} 
*  ) 
*/ 

。あなたがそこに参加しなければならない既存のテーブルではありません。そのテーブルには、マッピングするテーブルの主キーであるitem_idとimage_idが含まれます。

関連する問題