2016-03-29 15 views
0

ための識別子として参照される列名は、だから私は、これらの2つのバンドルを持っている:ドクトリンの関係 - エンティティ

  • UserBundle

BlogBundle、これら3事業体:

  • UserBundle:User
  • BlogBundle:User
  • BlogBundle:Article

BlogBundle:Userは、一つの関係に双方向のいずれかを使用してUserBundle:User延びています。結合列名はuser_idあり、それは重要な団体です:

BlogBundle\Entity\User: 
type: entity 
table: blog_users 
id: 
    user: 
     associationKey: true 
oneToOne: 
    user: 
     targetEntity: UserBundle\Entity\User 
     inversedBy: blog_user 
     joinColumn: 
      name: user_id 
      referencedColumnName: id 

は今、私はBlogBundle:UserBlogBundle:Articleの間に多くの関係に双方向のものを作成したいです。私の問題は、私がArticleオブジェクトを介してUserBundle:Userからのデータにアクセスすることができ、それが動作する、ですが、マッピングされていないとして、プロファイラで、それはそれらを示し

BlogBundle:User 
oneToMany: 
    articles: 
     targetEntity: Article 
     mappedBy: author 

BlogBundle:Article 
manyToOne: 
    author: 
     targetEntity: User 
     inversedBy: Article 
     joinColumn: 
      name: author 
      referencedColumnName: user_id 

は現在、私はこれをしようとしています正しく私の考えでは、私がしようとしていることをすることは可能だろうが、私はちょうど何か間違っている。

私には何が欠けていますか?

答えて

1

私は問題はinversedByで、フィールドの名前ではなく、エンティティの名前を記述する必要があると思います。ここで

QUEのドキュメント: http://doctrine-orm.readthedocs.org/projects/doctrine-orm/en/latest/reference/association-mapping.html#one-to-many-bidirectional

あなたのコードは次のようになります。

BlogBundle:User 
    oneToMany: 
    articles: 
     targetEntity: Article 
     mappedBy: author 

BlogBundle:Article 
    manyToOne: 
    author: 
     targetEntity: User 
     inversedBy: articles 
     joinColumn: 
     name: author 
     referencedColumnName: user_id 
+0

すごいああ、私はそれを見ていません。どうもありがとうございました! –

関連する問題