主义ORM如何将我的对象的UPDATE保存到数据库中(等同于SQL UPDATE查询)

时间:2018-08-04 19:41:41

标签: doctrine-orm

我是Doctrine的新手,我似乎找不到答案。

我正在使用

来将新创建的对象保存到数据库(等同于SQL INSERT查询)。
    $this->getEntityManager()->persist($category);
    $this->getEntityManager()->flush($category);

要删除一个(相当于SQL DELETE查询),我正在使用

    $this->getEntityManager()->remove($category);
    $this->getEntityManager()->flush($category);

现在,如何将$ category对象的更新保存到数据库中?我正在寻找等同于UPDATE查询的Doctrine。

Doctrine ORM是否一定有简单的方法来执行此操作,而不必使用DQL?

1 个答案:

答案 0 :(得分:0)

那么不需要特定的更新查询。

使用学说,您可以像这样更新对象。假设您有带有字段名称的类别对象。因此,我们将尝试对其进行更新。

$newName = 'hello world';
$category->setName($newName);
$this->em->flush(); // without passing the object

这将更新您的实体。

因此,我们从中了解到,可以通过仅使用setter和设置新值来更新实体,然后刷新。它会自动处理。