CakePHP3でsaveMany()を使ってデータを一括で追加する処理を実装しました。
しかし、一部のデータは既にテーブルにデータが存在する場合があることが解りました。
saveMany()をした時に、任意項目のデータが存在した場合は、
更新になるようにする方法はないでしょうか?
DBはMySQLを使っており、
MySQLのON DUPLICATE KEY UPDATEみたいなのができればと思っていますが、
ちょっと思いつきませんでした。
saveMany()を使った実装は、
至って普通で、ネットに記載されている例題のままですが、
下記のようにしています。
$data = [
[
'title' => '一番目の投稿',
'published' => 1
],
[
'title' => '二番目の投稿',
'published' => 1
],
];
$articles = TableRegistry::get('Articles');
$entities = $articles->newEntities($data);
$result = $articles->saveMany($entities);
これを改良して、更新ができるようになればと思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/18 04:54
2017/10/18 05:09