多个实体经理

时间:2012-09-14 13:48:42

标签: symfony doctrine

我之前也发过这个问题,因为它还没有解决,我又发布了这个问题

我正在为我的应用程序使用symfony2,我需要为此搜索创建两个数据库连接,即读取和写入,并且很容易发现我们可以创建不同的实体管理器,我创建了这样的:

我的parameters.ini文件 http://dpaste.com/hold/800957/

我的config.yml文件 http://dpaste.com/hold/800954/

我的用户实体类 http://dpaste.com/hold/800963/

我的粉丝实体类: http://dpaste.com/hold/800964/

在控制器中制作对象

$emWrite = $this->getDoctrine()->getEntityManager('write');
$em = $this->getDoctrine()->getEntityManager();

当我坚持实体时它给了我以下错误:

A new entity was found through the relationship '
AppBundle\Entity\Follower#user' that was not configured to cascade persist
operations for entity: adeel. Explicitly persist the new entity or configure
cascading persist operations on the relationship. If you cannot find out which
entity causes the problem implement AppBundle\Entity\User#__toString()
to get a clue. (500 Internal Server Error)

请详细帮助我,因为这给我带来了巨大的问题......因为我已经尝试了很多这样的事情,例如在涉及的实体的双方都给予持久的财产......

请帮帮我....

1 个答案:

答案 0 :(得分:0)

您的问题与多个实体经理无关,而是与您未在课堂上设置的选项有关,前提是关系目的。

我没有太多关于你的实体的细节,但我可以建议你以这种方式修改关系

<?php
class User
{
    //...
    /**
     * Bidirectional - One-To-Many (INVERSE SIDE)
     *
     * @OneToMany(targetEntity="Comment", mappedBy="author", 
                  cascade={"persist","remove"})
     */
    private $commentsAuthored;
    //...
}

cascade={"persist","remove"}就是您要找的地方。