繁体   English   中英

Symfony2单一表单可一次将多个条目添加到数据库

[英]Symfony2 single form to add multiple entries to database at once

我有一个实体

class User
{
  /**
    * @ORM\Column(type="integer")
    * @ORM\Id
    * @ORM\GeneratedValue(strategy="AUTO")
    */
  protected $id;

  /**
    * @ORM\Column(type="string", length=17)
    */
    protected $mac;

  /**
    * @ORM\Column(type="string", length=10)
    */
    protected $sensor;

  /**
    * @ORM\Column(type="integer", length=4)
    */
    protected $sensitivity;

/** getters and setters **/
}

在数据库中,由于三个不同的传感器,每个用户应具有三个条目,我需要创建一个表单以使用这些传感器名称($ sensor)及其敏感度添加新用户。 可以用一个表格来完成吗? 表格的输入应为输入mac(文本),sensor1(数字),sensor2(数字),sensor2(数字)。 可以用一个表格来完成吗? 怎么样?

好的,所以我要做的是使用createFormBuilder()不提供实体的情况下使用所有需要的输入创建表单。 然后我创建了一个新对象$user = new User(); 接着:

  $em = $this->getDoctrine()->getManager();        
  $user->setMac($form['mac']->getData());
  $user->setSensor('wiliboxas1');
  $user->setSensitivity($form['sensor1']->getData());
  $em->persist($user);
  $em->flush();
  $em->clear();
  $user->setSensor('sensor2');
  $vartotojas->setSensitivity($form['sensor2']->getData());
  $em->persist($user);
  $em->flush();
  $em->clear();

  //and so on..

也需要$em->clear() ,因为否则它将仅添加一个条目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM