Stack Overflow на русском Asked on November 22, 2021
При использовании ActiveRecord
, метод save
возвращает результат успешности произведённой операции. Если я хочу вставить много записей, я хочу использовать batchInsert
.
Но как отследить, вставились ли именно все записи? И что, если хоть одна не вставилась – то откатить транзацкцию? Потому что всё, что возвращает метод – количество затронутых строк. Использовать его и сопоставлять с количеством записей, которые я хочу внести? Как корректно сделать?
$items = [[1, 'name'], [2, 'name2']];
$query = (new Query())->createCommand()->batchInsert(
'tableName',
['id', 'name'],
$items
);
if ($query->execute() != count($items)) {// rollback}
Answered by fedornabilkin on November 22, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP