我有两个具有oneToMany关系的实体:
发布实体:
...
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);
我成功获得了Post实体的所有属性,除了图像。当我$entity= new Post
时,getImages
给出一个空的arrayCollection !!。
溶液:
Get child entities returns null instead of arrayCollection object
答案 0 :(得分:1)
配置中没有关于连接列的信息。尝试添加此信息。
manyToOne:
post:
targetEntity: Shop\Bundle\ManagementBundle\Entity\Post
inversedBy: images
...
joinColumns:
post_id:
referencedColumnName: id
...
cascade: { }