【发布时间】:2017-04-27 01:07:28
【问题描述】:
http://www.yiiframework.com/doc-2.0/yii-db-command.html#delete()-detail
我在文档中看到批量插入,但没有批量删除或批量更新。有没有办法使用 Yii 的 db API 实现批量更新和删除?最好的方法是什么?我想避免使用循环并发出多个请求。另外,我使用的是 Yii 1.0。我注意到 1.0 没有文档,这些方法可以在 1.0 中使用吗?
【问题讨论】:
http://www.yiiframework.com/doc-2.0/yii-db-command.html#delete()-detail
我在文档中看到批量插入,但没有批量删除或批量更新。有没有办法使用 Yii 的 db API 实现批量更新和删除?最好的方法是什么?我想避免使用循环并发出多个请求。另外,我使用的是 Yii 1.0。我注意到 1.0 没有文档,这些方法可以在 1.0 中使用吗?
【问题讨论】:
如果您想删除或更新几行,您应该使用 WHERE。没有人像这样进行批量删除DELETE ... WHERE id=1; DELETE ... WHERE id=2;你可以这样做DELETE ... WHERE id IN(1,2);
Yii 1 的批量插入仅从 1.1.14 开始可用。
$builder=Yii::app()->db->schema->commandBuilder;
$command=$builder->createMultipleInsertCommand('tbl_post', array( array('title' => 'record 1', 'text' => 'text1'), array('title' => 'record 2', 'text' => 'text2'), ));
$command->execute();
【讨论】: