gpt4 book ai didi

php - 使用 Doctrine DBAL 一次删除多行,是否可能?

转载 作者:行者123 更新时间:2023-12-03 19:55:55 25 4
gpt4 key购买 nike

首先,我只想提一下,这根本不是一个“问题”。使用 Doctrine DBAL 删除不是问题,我能够做到。

我真正想知道的是是否有办法一次删除多行而不必循环,例如数组。

对于我的项目,我使用 SilexDoctrine DBAL

这是我目前如何做的一个例子:

$toDelete = array(1,2,3,4);

foreach($toDelete as $id){
$this->app['db']->delete('table_name',array('id' => $id ));
}

有什么方法可以避免循环吗?

最佳答案

您可以使用参数列表:http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/data-retrieval-and-manipulation.html#list-of-parameters-conversion

$connection->executeQuery('DELETE FROM table_name WHERE id IN (?)',
array(array(1,2,3,4)),
array(\Doctrine\DBAL\Connection::PARAM_INT_ARRAY)
);

或使用查询构建器:
$builder = $connection->createQueryBuilder()
->delete('table_name')
->where('id in (:ids)')
->setParameter(':ids', array(array(1,2,3,4)), Connection::PARAM_INT_ARRAY);
$builder->execute();

关于php - 使用 Doctrine DBAL 一次删除多行,是否可能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31337983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com