2017-06-04 43 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