在for循环中插入多个记录

时间:2015-03-09 08:21:29

标签: php mysql laravel

我正在尝试在我的数据库中存储多条记录,但我收到错误。目前我有这个:

$array=array('key'=>'value');
for($i = 0; $i < $something; $i++){
    array_add($array,'key','value')
}
DB::table('table')->insert($array);

每当我var_dump($array);它不会显示我添加到数组中的array_add的值。

我做错了什么,我应该如何插入?

3 个答案:

答案 0 :(得分:1)

您目前在for循环中正在做的是一次又一次地设置key => value。相反,您希望将包含key => value的数组添加到包含所有行的数组中:

$rows = array(
    array('key' => 'value'),
    array('key' => 'value2'),
    // and so on...
);
for($i = 0; $i < $something; $i++){
    $rows[] = array('key' => 'value');
}
DB::table('table')->insert($rows);

答案 1 :(得分:0)

答案 2 :(得分:0)

更多评论而不是答案......完全未经测试的代码......

鉴于我对这个问题的解释 - 我认为代码看起来应该是这样......

如果你想添加多条记录,那么附加一个包含&quot; newRecord&#39;将是必需的。

如果我误解了这个问题,请随意发表评论。

$allRecordsToInsert = array();

$newRecord = array();
for($i = 0; $i < $something; $i++) { // add columns to 'newRecord'
    array_add($newRecord, $curColKey, $curColValue);
}
// append new record to list of records to be inserted
$allRecordsToInsert[] = $newRecord;

DB::table('table')->insert($allRecordsToInsert);