2017-06-04 112 views
0
{{ dump(memory.memoryImages) }} 

不确定的指数给我: enter image description hereSymfony的枝条,为持久化集合

{{ dump(memory.memoryImages.getValues) }} 

{{ dump(memory.memoryImages.first) }} 

{% for memoryImage in memory.memoryImages %} 
    ... 
{% endfor %} 

所有给我:(“:未定义指数:内存通知”)的模板 的渲染过程中

异常被抛出。

如何从memoryImages获得memoryImage?我可能错误地配置了原则映射吗?

实体内存有一个一对多的关系:

oneToMany: 
    memoryImages: 
     targetEntity: MemoryImage 
     mappedBy: Memory 
     cascade: ["persist", "remove"] 

和MemoryImages实体具有多对一关系:

manyToOne: 
    memory: 
     targetEntity: Memory 
     inversedBy: memorieImages 
     joinColumn: 
      name: memory_id 
      referencedColumnName: id 
+0

检查你的映射文件。内存而不是内存?问候 – Albeis

+0

@Albeis更新问题与相关的映射部分... – caramba

+0

尝试mappedBy:内存 – Albeis

回答

2

你确定你是不是叫Memory,而不是你memory(甚至某处更高up)导致错误信息应该反映出它的正确情况(注意大写字母)。

至于访问值,像你显示的循环等应该没问题,所以我怀疑它的这些小事情,但实际上是最小的事情的另一个原因。

+0

谢谢你试图帮助!我已经用Memory和MemoryImages之间的关系更新了这个问题......这些小东西有时会让我的生活变得艰难:) – caramba

+0

映射的应该是小写的不是?它不是“Memory”的实体名称,而是MemoryImage中的字段名称? –

+0

是的!谢谢!现在它可以工作 – caramba

0

你有几个不同的错别字:

oneToMany: 
    memoryImages: 
     targetEntity: MemoryImage 
     mappedBy: Memory    => mappedBy: memory // Use field name not field type 
     cascade: ["persist", "remove"] 

manyToOne: 
    memory: 
     targetEntity: Memory 
     inversedBy: memorieImages => inversedBy: memoryImages // Field name doesn't match 
     joinColumn: 
      name: memory_id 
      referencedColumnName: id