无法呈现带有子项的奏鸣曲 AdminBundle

Sonata AdminBundle with a Child cannot be rendered

我正在尝试配置 Sonata AdminBundle。它是一个非常有趣的捆绑包,具有许多功能,但使用起来并不简单。我有一个 Post 实体,因此我可以调整 posts,如文档手册中所述。我想为每个 post(多对一关系)的评论实施一个子管理员。我将其实现为服务和变量的 __toString() 方法,但是出现以下错误:

An exception has been thrown during the rendering of a template ("Catchable Fatal Error: Object of class Doctrine\ORM\PersistentCollection could not be converted to string") in SonataDoctrineORMAdminBundle:CRUD:list_orm_many_to_one.html.twig at line 17.

我不明白为什么不能将ManyToOne变量的内容转换成字符串。在此感谢任何帮助。

这里是Post实体代码:

<?php

namespace Blog\BlogBundle\Entity;

class Post

/**
 * @var ArrayCollection
 *
 * @ORM\OneToMany(targetEntity="Comment", mappedBy="post", cascade={"remove"})
 */
private $comments;

/**
* Construct DateTime and Comments Array
*/
public function __construct()
{
    $this->createdAt = new \DateTime();

    $this->comments = new ArrayCollection();
}

/**
 * @return mixed
 */
public function __toString()
{
    return $this->comments;
}

Other private and setters and getters

海事组织:

/**
 * @return mixed
 */
 public function __toString()
 {
     return $this->comments;
 }

此方法必须return一个字符串而不是数组集合

移除

/**
 * @return mixed
 */
public function __toString()
{
    return $this->comments;
}

从您的 Post 实体并将其添加到您的评论实体,但将 $this->comments 更改为用于评论正文的字段。