gotohayato.com

moon indicating dark mode
sun indicating light mode

Drupal 7 で DB にレコードを複数行まとめて入れる方法

2015/06/13Drupal 7

タイトルのとおり Drupal でレコードを複数行まとめて入れる挿入する方法について。

こちら可能は可能なのですがちゃんと解説しているドキュメントがあまりないようでパッと確認したいときに不便します。メモ代わりに書いておきたいと思います。

おなじみ db_insert() で生成した InsertQuery に対して values() を呼び出せば OK です。

$fields = array('title', 'uid');
$values = array(
array(
'title' => 'ひとつめ',
'uid' => 1,
),
array(
'title' => 'ふたつめ',
'uid' => 1,
),
);
$query = db_insert('node')->fields(fields);
foreach ($values as $v) {
$query->values($v);
}
$query->execute();

$values はインデックス配列でも連想配列でも OK ですが(インデックス配列の場合は $fields と同じ並びにする必要あり)、連想配列で明示的に書く方がよいかと思います。

参考

関連記事


後藤隼人
個人事業でウェブ開発やマーケティングをしています。
GitHub