实体ManyToOne
和Pattern
之间定义了Category
关联(模式是关系的拥有方)。类别有很多模式,模式属于一个类别。所以有一个字段Pattern.category
带有@ManyToOne
Doctrine注释。
现在,在我的场景中,我有类别实体的 id (从表单发布)我想要分配给新创建的Pattern的Pattern.category字段(将被保留),但是我不想加载这个类别实体 - 我不需要它,我只是想创建一个Pattern实体,将它分配给一个类别(我拥有的ID),并坚持下去。我觉得很奇怪,我必须加载Category实体才能建立连接,而我真正需要的只是一个id,我已经拥有了。
也许它有点像在ORM中使用关系数据库概念,但是当我知道该目标实体的id时,加载这个实体只是为了建立连接似乎完全没有意义。
我是Doctrine btw的新手。
答案 0 :(得分:8)
您可以使用Reference Proxy:
$category = $em->getReference('Category', $id);
$pattern->setCategory($category);