我正在尝试在我的数据库中存储多条记录,但我收到错误。目前我有这个:
$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
的值。
我做错了什么,我应该如何插入?
答案 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)
这是这个问题的答案。希望这有帮助。 https://laracasts.com/discuss/channels/general-discussion/update-multiple-rows-in-a-foreach-loop?page=1#reply-27859
答案 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);