【发布时间】:2015-02-22 08:33:09
【问题描述】:
我有自己的用户实体,它扩展了 Fos 之一。它能够以多对一关系的形式附加另一个实体。
在我自己的配置文件控制器中使用以下代码会导致此实体未添加到用户实体中。
$user = $repo->find($user->getId());
我的所有其他自定义字段都已到位,只是缺少这个实体。关系是这样的
manyToOne:
game_system:
targetEntity: Acme\NameofBundle\Entity\GameSystem
joinColumn:
onDelete: SET NULL
name: game_system_id
referencedColumnName: id
编辑
值得注意的是,getGameSystem 调用在我的主包 NameofBundle 中工作。
但它在 MemberBundle 内部失败,MemberBundle 扩展了 FOSUserBundle。 GameSystem 实体在 NameofBundle 内,而我的 User 是我的 MemberBundle。
编辑 2
我的 config.yml
fos_user:
db_driver: orm
firewall_name: main
user_class: Acme\MemberBundle\Entity\User
group:
group_class: Acme\MemberBundle\Entity\User
【问题讨论】:
-
你是如何设置关系的?
-
YML 已经在问题中了?
-
那是映射,是的,但是你在哪里 setGameSystem() ?
-
它已经设置并且在数据库中。如果我在自己的控制器中进行相同的调用,那很好。它只在我的 FOS 控制器中失败
-
@johnSmith 查看我对捆绑包如何拆分的编辑
标签: symfony doctrine-orm fosuserbundle