是否可以使用Doctrine Query Builder在重复键更新的情况下实现多次插入查询?因为我看不到任何查询生成器方法可以帮助编写这样的查询。
我有对象列表,我需要更新它们的status
字段,而不是编写许多更新查询,而只想编写一个“插入”查询即可解决这个问题。
在将Doctrine安装到项目中之前,这是我通常用来解决此问题的方式:
$query = "INSERT INTO BRO_campaign(`id`, `name`) ";
for ($this->listOfRunningCampaigns->rewind(); $this->listOfRunningCampaigns->valid(); $this->listOfRunningCampaigns->next())
{
$current = $this->listOfRunningCampaigns->current();
$query .= " VALUES(" . $current->getId() . ", '" . $current->getName() . "'),";
}
// Deleting comma in the end of line
$query = substr($query, 0, -1);
$query .= " ON DUPLICATE KEY UPDATE BRO_campaign.`status` = " . $newStatus;
query execution...
我想用Query Builder编写相同的查询,看来他不能做这样的事情。