2017-05-16 40 views
0

当我创建了一个用户与FOSUserBundle的UserManager,然后我想将它添加到不同的实体是这样的:使用用户与另一个实体

$log = new Log(); 
$log->setOwner($user) 

我得到错误说:“一个新的实体是通过发现关系”。看起来是用FOSUserBundle UserManager创建的,默认情况下是看不到的EntityManager ($this->getDoctrine->getManager()),它想把它添加到数据库中。以前它的工作,但最近的一些FOSUserBundle更新它停止。以前的用户管理器可以将用户实体添加到数据库,并且EntityManager可以添加对用户实体($owner)的引用的登录实体。

任何想法正在发生,以及如何解决这个问题?

+0

似乎应该坚持Log实体。你什么时候执行冲洗? fos用户管理器正在坚持新创建的用户? – Carlos

+0

我创建用户$ this-> userManager-> createUser(),设置电子邮件等,然后我将它添加到日志与$ log-> setOwner($ user),然后我坚持日志,然后使刷新。如果我使用$ this-> userManager-> updateUser($ user,false);然后为所有我得到以上错误刷新。如果我使用$ this-> userManager-> updateUser($ user);用户被保存,然后EntityManager尝试再次添加。 – Tom

+0

你试图坚持用户吗?我不确定管理员是否默认这样做。 – Carlos

回答

1

从评论到你的问题。

首先,您应该持续记录实体,然后将用户添加为所有者。

相关问题