我想与ManyToMany建立两个实体的关系:
目前,我在“MyNamespace / Userbundle / Entity / User.php”中执行此操作:
/**
* @ORM\ManyToMany(targetEntity="\MyNamespace\WebsiteBundle\Entity\Categorie", inversedBy="users")
* @ORM\JoinTable(name="user_has_categories")
*/
private $categories;
public function __construct()
{
parent::__construct();
$this->categories = new \Doctrine\Common\Collections\ArrayCollection();
}
这在“MyNameSpace / WebsiteBundle / Entity / Categorie.php”中:
/**
* @ORM\ManyToMany(targetEntity="\MyNameSpace\UserBundle\Entity\User", mappedBy="categories")
*/
private $users;
public function __construct()
{
$this->users = new \Doctrine\Common\Collections\ArrayCollection();
}
当我运行doctrine命令创建带有reationship的表时,一切正常。
但是当我在默认控制器中执行var_dump($this->getUser());
时(例如),我有一个无限循环会导致我的浏览器崩溃。
当我删除用户实体中的关系时,不再显示此效果...
那会有一个想法,这个问题可能是什么?
我在ubuntu上使用php 5.4.9
谢谢:)
答案 0 :(得分:3)
使用
学说\共同\的Util \调试::转储()
而不是var_dump
为什么 Debug :: dump()有效,但var_dump没有:
Doctrine \ Common \ Util \ Debug :: dump()接受第二个参数 maxDepth ,默认值为2,将嵌套引用限制为两个级别。您可以根据需要传递此值。