是否可以在没有目标实体的情况下在Doctrine2中建立关联?

Daw*_*hia 4 orm doctrine symfony doctrine-orm

ManyToOne实体之间定义了关联Pattern,Category(模式是关系的拥有方).类别有很多模式,模式属于一个类别.所以有一个Pattern.category带有@ManyToOneDoctrine注释的字段.

现在,在我的场景中,我有一个Category实体的id(从表单发布),我希望将其分配给新创建的Pattern的Pattern.category字段(将被保留),但我不想加载此Category实体 - 我不需要它,我只是想创建一个Pattern实体,将它分配给一个Category(我拥有的id),并坚持下去.我觉得很奇怪,我必须加载Category实体才能建立连接,而我真正需要的只是一个id,我已经拥有了.

也许它有点像在ORM中使用关系数据库概念,但是当我知道该目标实体的id时,加载这个实体只是为了建立连接似乎完全没有意义.

我是Doctrine btw的新手.

mez*_*eze 8

您可以使用参考代理:

$category = $em->getReference('Category', $id);
$pattern->setCategory($category);
Run Code Online (Sandbox Code Playgroud)