我已尝试在Symfony2中搜索更新数据,但看起来所有教程都需要很少的正常步骤来执行此操作:
$em = $this->getDoctrine()->getManager();
$entity =
$em->getRepository('bundle')->find($id);
$form = $this->createForm(new Type(), $entity);
$editForm->handleRequest($request);
$em->flush();
假设我在twig中有自定义表单,并在控制器$variable = $request->request->get('name');
中执行手动getRequest。有没有办法在实体$entity = $em->getRepository('bundle')->find($id);
中为特定ID更新此数据而不创建用于刷新我的数据的表单?
因为我需要使用迭代为我的数据库中的许多ID更新此变量。假设我需要使用此值更新数千个数据。我担心创建表单会影响性能和时间。
答案 0 :(得分:5)
只需使用setter直接在您的实体中设置数据,然后刷新:
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('Bundle:Entity')->find($id);
$entity->setSomeProperty($propertyValue);
$em->flush();