我正在尝试使用以下内容更新实体中的行:
$linker = $this->getObjectManager()->getRepository('\Schema\Entity\Link')->find('link_id', 7853);
$linker->setSampleTitle($mytitle);
$linker->setSampleDesc($mydesc);
$this->getObjectManager()->merge($linker);
$this->getObjectManager()->flush();
但我明白了:此操作需要开启交易。
答案 0 :(得分:2)
试试这个:
$this->getObjectManager()->persist($linker);
$this->getObjectManager()->flush();
另外,您可能希望使用findOneBy而不是find。
答案 1 :(得分:2)
我刚才意识到在find()
方法中我不应该'link_id'
而是\Schema\Entity\Link
类。所以这里不需要getRepository()
......
正确的是:$linker= $this->getObjectManager()->find('\Schema\Entity\Link', 7853);
答案 2 :(得分:0)
$Link = $this->getObjectManager->getRepository('Schema\Entity\Link')->find( 7853 );
并在@id中将link_id
定义为实体中的ID,或使用findBy
关键字