-
バッチ挿入の準備 まず、挿入するデータの配列を作成します。例えば、以下のような形式でデータを用意します。
$data = [ ['title' => '記事1', 'content' => '内容1'], ['title' => '記事2', 'content' => '内容2'], // 他のデータ行 ];
-
バッチ挿入の実行 次に、Yii2のActiveRecordの
batchInsert()
メソッドを使用して、データを一括で挿入します。Yii::$app->db->createCommand()->batchInsert('blog_post', ['title', 'content'], $data)->execute();
上記の例では、
blog_post
テーブルにtitle
とcontent
のカラムを持つデータをバッチ挿入しています。$data
は挿入するデータの配列です。batchInsert()
メソッドの第1引数にはテーブル名、第2引数にはカラム名の配列、第3引数にはデータの配列を指定します。execute()
メソッドを呼び出すことで、実際にバッチ挿入が実行されます。 -
エラーハンドリング バッチ挿入の際にエラーが発生した場合、例外をキャッチして適切に処理することが重要です。以下は、エラーハンドリングの例です。
try { Yii::$app->db->createCommand()->batchInsert('blog_post', ['title', 'content'], $data)->execute(); } catch (Exception $e) { // エラー発生時の処理 echo 'バッチ挿入中にエラーが発生しました。エラーメッセージ: ' . $e->getMessage(); }
try-catch
ブロックを使用して、batchInsert()
メソッドの呼び出しを囲みます。エラーが発生した場合は、例外がスローされ、catch
ブロック内でエラーメッセージを取得して処理します。
以上が、Yii2におけるActiveRecordのバッチ挿入の方法とコード例です。これを参考にして、約1000語のブログ投稿を作成することができます。