Zapis wielu rekordów w CakePHP 3

W poniższym artykule pokażę jak zapisywać wiele encji jednocześnie w CakePHP 3. Jak widać na poniższym listingu, najpierw przygotowujemy tablicę z danymi, a potem budujemy encje za pomocą newEntities, na koniec używamy metody saveMany, która zapisuje wiele encji do bazy danych.

$articles_data = [
    [
        'title' => 'Tytul 1',
        'published' => 1
    ],
    [
        'title' => 'Tytul 2',
        'published' => 1
    ],
];
$articles = TableRegistry::get('Articles');
$entities = $articles->newEntities($articles_data);
$result = $articles->saveMany($entities);
Wynikiem będą zaktualizowane encje w przypadku sukcesu lub false w przypadku niepowodzenia. Do saveMany można jako drugi parametr przekazać również opcje (takie same jak w przypadku metody save).