Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
教义2&;Symfony2:在foreach循环中保存时重置ID值_Symfony_Doctrine Orm - Fatal编程技术网

教义2&;Symfony2:在foreach循环中保存时重置ID值

教义2&;Symfony2:在foreach循环中保存时重置ID值,symfony,doctrine-orm,Symfony,Doctrine Orm,请参阅以下代码: $passwords = array('aaaa', 'bbbb', 'ccccc', 'dddd', 'eeeee'); $em = $this->getDoctrine()->getEntityManager(); $foo = new Foo(); $foo->setName('Joe Bloggs'); $foo->setTitle('Mr'); foreach ($passwords as $password) { $foo->

请参阅以下代码:

$passwords = array('aaaa', 'bbbb', 'ccccc', 'dddd', 'eeeee');

$em = $this->getDoctrine()->getEntityManager();
$foo = new Foo();
$foo->setName('Joe Bloggs');
$foo->setTitle('Mr');
foreach ($passwords as $password) {
    $foo->setPassword($password);
    $em->persist($foo);
    $em->flush();
}
在这里,当我尝试保存
$foo
对象时,我希望将其保存X次,其中X是
$passwords
的长度,但是它只插入一次值,然后更新另外4次

有谁知道我如何做到这一点,使它插入记录5次


感谢

在对象标识上选择创建更新

  • 新建对象=>创建
  • 现有对象=>更新
因此,不要试图通过不重复setName和setTitle来优化处理,但只能执行flush()一次;):

$passwords = array('aaaa', 'bbbb', 'ccccc', 'dddd', 'eeeee');

$em = $this->getDoctrine()->getEntityManager();
foreach ($passwords as $password) {
    $foo = new Foo();
    $foo->setName('Joe Bloggs');
    $foo->setTitle('Mr');
    $foo->setPassword($password);
    $em->persist($foo);
}
$em->flush();