symfony2 setter用于相关实体id

时间:2012-05-15 16:44:49

标签: symfony doctrine doctrine-orm

我在实体中的关系:

 /**
 * @ORM\ManyToOne(targetEntity="Group")
 */
protected $group;

现在我有一个setter方法setGroup()来设置相关实体​​,但似乎没有方法setGroupId()来设置group_id而没有实体对象。如何直接设置group_id

3 个答案:

答案 0 :(得分:2)

我建议你看一下Doctrine EntityManager - > getReference()方法。

$user->setGroup($em->getReference('Group', 10));

答案 1 :(得分:0)

使用自定义repository创建将获取该组的特定方法,然后使用setGroup进行设置。

编辑:您甚至可以通过SQL查询直接添加/更新ID:https://stackoverflow.com/a/10215061
但那很脏。

答案 2 :(得分:0)

尝试定义另一个字段(groupId)并将其直接映射到数据库中的字段。