2016-01-12 61 views
0

我有兩個實體具有一對多的關係:爲什麼null而不是空arrayCollection?

郵政實體:

... 
oneToMany: 
    images: 
    mappedBy: post 
    targetEntity: Shop\Bundle\ManagementBundle\Entity\Image 

圖片實體:

... 
    manyToOne: 
     post: 
      targetEntity: Shop\Bundle\ManagementBundle\Entity\Post 
      inversedBy: images 
      joinColumn: 
       onDelete: cascade 

當我做$entity->getImages(),我收到null。即使在數據庫中有很多圖像鏈接到一個帖子。

我真的盡我所能找出可能導致此類問題的原因。非常感謝您平時的幫助。

PS: 給定一個整數$id,我取使用控制器後實體:

$em = $this->getDoctrine()->getManager(); 
$entity = $em->getRepository('ShopManagementBundle:Post')->find($id); 

我順利拿到後實體的所有屬性,除了從圖像。當我做$entity= new Post時,getImages給出了一個空的arrayCollection !!。

解決

Get child entities returns null instead of arrayCollection object

回答

1

中沒有任何配置關於連接列。嘗試添加此信息。

manyToOne: 
    post: 
     targetEntity: Shop\Bundle\ManagementBundle\Entity\Post 
     inversedBy: images 
     ... 
     joinColumns: 
      post_id: 
       referencedColumnName: id 
     ... 
     cascade: { } 
+0

感謝您的反饋。我已經有了joinColumn配置。關於級聯,我已經嘗試過無效。 :( –

+0

先生,謝謝你的時間,我發佈瞭解決方案,我希望它有幫助 –

相關問題