2017-05-04 19 views
0

doctrineアノテーションを使用して多対多の関係を作成する際に追加のフィールドを追加することができません。 user_appテーブルを作成、このアノテーションを使用symfony3のdoctrineでフィールド作成による多対多の関係

 /** 
     * @ORM\ManyToMany(targetEntity="Application", inversedBy ="users") 
     * @ORM\JoinTable(name="user_app", 
      * joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}, 
      * inverseJoinColumns={@ORM\JoinColumn(name="application_id", referencedColumnName="id")} 
     *) 
private $applications; 

は、ユーザーとアプリケーションテーブルのリレーションシップとAPPLICATION_ID、USER_IDを含んでいます。

注釈を使用してアプリケーションIDの順序を維持するために、新しい列を追加します。

user_app 
---------------- 
user_id application_id order_id 
1   2    1 
1   3    2 
2   2    1  
2   5    2 
+0

を見ることができます。 私は、エンティティリポジトリにあなたが望むものとそれを注文する方法を取得するメソッドを作成することを提案します。 –

答えて

0

私は新しいエンティティを作成し、彼女にすべてのデータの設定をしてみてください、あなたは「注釈@ORM」でこれを行うことはできません何だと思います。

全協会のマッピング - 私はあなたの問題を解決するには、コントローラまたはどこが教義のクエリを実行することがありますで、SELECT文になることを信じて、公式documentatioにDoctrine ORM

+0

未定義のインデックスユーザーエラーを取得した後にマッピングするための第3のエンティティクラスを作成しました。 –

+0

新しいエンティティを追加しましたが、未定義のインデックスユーザーエラーが発生しました。 –