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

Php Symfony2:在PUT路由中添加/更新实体,php,symfony,doctrine-orm,put,Php,Symfony,Doctrine Orm,Put,我有一个PUT路由,它用请求数据更新用户实体。这是可行的,但我必须在这个实体上调用setter,但我认为可能有更好的方法,可以直接应用请求数据,而无需为每个字段调用setter。我在使用教义。以下是我的示例代码: $data = $this->getRequest()->request->all(); $em = $this->getDoctrine()->getManager(); $entity = new Ent

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

    $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?如果我有100个字段,手动调用setter是没有意义的,如果有更多的字段呢?

有,