我使用的是symfony2,而我却无法将我的相关实体放入树枝中。
所以我有我的主要实体,让我们称之为Post,它有一个OneToMany关系:
/**
* @ORM\OneToMany(targetEntity="Comment", mappedBy="Post", cascade={"persist", "remove"})
*/
private $comments;
我用控制器将它传递给树枝,我可以访问每个房产,但是当我尝试访问一个像#34;评论"这样的关系的房产时,我得到了一个" Doctrine \ ORM \ PersistentCollection)" 有很多私有财产,我无法获得这个相关实体的属性...
我有点困惑,我不知道自己做错了什么......
答案 0 :(得分:7)
在树枝中获取第一项教条集
如果您在集合中只有一个对象,那么您可以使用first
方法获取它
{% set comment = post.comments.first %}
PersistentCollection: first() method
将DoctrineCollection转换为树枝中的数组
要将doctrine集转换为数组,可以使用getValues()方法:
{% set arrayComment = post.comments.getValues %}
答案 1 :(得分:4)
这是因为您正在尝试直接访问实体集合。 你必须循环你的评论集合:
{% for comment in post.comments %}
// You can get your comment entity here
// for example
<p>{{comment.description}}</p>
{% endfor %}