Symfony2:在PUT路由中添加/更新实体

时间:2014-09-06 11:45:29

标签: php symfony doctrine-orm put

我有一条PUT路由,用请求数据更新用户实体。这有效,但我不得不在这个实体上调用setter,但我认为可能有更好的方法,可以直接应用请求数据,而无需为每个字段调用setter。我在使用Doctrine。这是我的示例代码:

    $data = $this->getRequest()->request->all();            
    $em = $this->getDoctrine()->getManager();
    $entity = new Entity();
    $entity = $em->getRepository('SomeBundle:Entity')->find($id);
    $entity->setParamA($data['A']);
    // ... etc

    if (!empty($entity))
    {
        $em->persist($entity) // flush, etc. I have also tried merge but it removes existing fields
    }

如何在不调用setter的情况下简单地使用$ data更新$ entity?如果我有一百个字段,那么手动调用setter是没有意义的,如果还有更多字段会怎么样?

0 个答案:

没有答案