Использование Cake-PHP3 Я пытаюсь сохранить или обновить массово (т. Е. Если запись является существующим обновлением, вставьте в противном случае)сохранить или обновить?
Я пытался использовать saveMany, но это всегда приводит к ошибке дублированного ключа, если запись существует.
$entities = $this->MyModel->newEntities($records);
$this->saveMany ($entities);
Я знаю, что есть решение, использующее эпилог с mysql "при повторном обновлении "
foreach ($records AS $record) {
$query = $this->Articles->query();
$query
->insert($record_fields)
->values($record)
->epilog('ON DUPLICATE KEY UPDATE field=field+1')
->execute();
}
Но, похоже, это решение позволяет сохранять каждую запись самостоятельно, а не массовым образом, что очень важно для меня (тонны записей)