2015-08-14 128 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

回答