在Doctrine中加倍记录

时间:2014-01-08 18:54:09

标签: php doctrine-orm

我有两个实体:

  • 测试实体,它与manyToMany和TmpFile有关系
  • TmpFile实体,只有一些字段

Yaml中的关系如下:

Entity\Test:
  type: entity
  table: test
  repositoryClass: Repositories\TestRepository
  id:
    id:
      type: integer
      generator:
        strategy: AUTO
  fields:
    totmpfile:
      targetEntity: Entity\TmpFile

$test是一个已经存在于数据库中的TestEntity,我在$test中获得了它的引用。我明白了:

$test = $em->getRepository('Entity\Test')->find($id);

$tmpf = new Entity\TmpFile(); // I'm creating a new Entity
$tmpf->setTitle('Something'); // I'm seting a field for that entity

$em->persist($tmpf);          // persisting the entity

$test->addTotmpfile($tmpf);   // I'm adding tmpf
$em->persist($test);

$em->flush();

我的问题是 加倍测试 实体,因为我坚持测试然后将其刷新。有任何想法吗?我只是想更新实体而不是创建一个新实体。我的想法用完了:/我在文档中找不到任何适合我的问题的东西。

1 个答案:

答案 0 :(得分:0)

我代表OP发布了答案:

所以我找到了解决方案。问题是我正在获取存储库而不是获取引用。