2015-08-14 93 views
2

如何通过Doctrine DBAL查询生成器批量插入或更新功能。通过Doctrine DBAL查询生成器批量插入或更新

 
$qb = $queryBuilder->values(
     array(
      "name" => 'test' 
      "email" => '[email protected]' 
     ) 
    ) 
    ->insert('test') 
    ->execute(); 

请问它支持这样

 
$qb = $queryBuilder->values(
      array(
       "name" => array('test', 'test2') 
       "email" => array('[email protected]','[email protected]') 
      ) 
     ) 
     ->insert('test') 
     ->execute(); 
+1

在Doctrine有关这方面的文档中有[chapter](http://doctrine-orm.readthedocs.org/en/latest/reference/batch-processing.html)。你应该看看。 – Artamiel

+0

@Artamiel这是ORM包,如果我们只使用DBAL包,该怎么办? – gskema

+0

@gskema那么,我想你必须自己照顾它,因为我链接的第一个关于'EntityManager'的优点。用逗号分隔多个值来编写'insert'查询是一种方法。这样你可以例如每100或500次迭代你的值就执行一次查询。我将这种方法用于不需要ORM的爬行器模块。 – Artamiel

回答