2016-03-29 17 views
0

için tanımlayıcı olarak başvurulan Sütun adı yüzden bu 2 Gruplarını var:Doktrini İlişkiler - varlık

  • UserBundle

BlogBundle ve bu 3 Varlıkları:

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

BlogBundle:User bir ilişki için bir çift yönlü birini kullanarak UserBundle:User uzanır. katılmak sütun adı user_id ve buna bir ilişkisel anahtardır:

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 

Şimdi BlogBundle:User ve BlogBundle:Article arasında birçok ilişki için iki yönlü bir tane oluşturmak istiyoruz.

Şu anda bu çalışıyorum:

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

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

My Problem ben bir Article nesnesi aracılığıyla UserBundle:User verilere erişebilir, çalışır, ancak profilcisine içinde onları görünmekte gösterir ise doğru şekilde. Tahminimce, denediğimi yapmak mümkün olurdu, ama ben sadece yanlış bir şey yapıyorum.

Neyi eksik?

cevap

1

Sanırım problem, alanın adını değil, alanın adını yazmanız gereken inversedBy ile olduğunu düşünüyorum.

İşte

que belgeleri: http://doctrine-orm.readthedocs.org/projects/doctrine-orm/en/latest/reference/association-mapping.html#one-to-many-bidirectional

Kodunuz olacaktır:

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

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

Ah vay ben görmedim. Çok teşekkür ederim! –