我需要执行类似下面示例的操作,但我不知道如何将字段添加到数组中。
$column_count = 0;
foreach ($line as $column) {
$array_line[$column_count] = $field_names[$column_count] => $column;
$column_count++;
}
DB::table('table')->insert($array_line);
当我尝试像这样执行时:
$column_count = 0;
foreach ($line as $column) {
$array_line[$column_count] = [$field_names[$column_count] => $column;]
$column_count++;
}
DB::table('table')->insert($array_line);
我收到一个错误,显示 Laravel 如何设置我的查询,它看起来像这样:
INSERT INTO table (column1) VALUES (value_original_column_1), (value_original_column_2), (value_original_column_3);
正确的做法应该是:
INSERT INTO table (column1, colum2, column3) VALUES (value_original_column_1, value_original_column_2, value_original_column_3);
$column_count = 0;
$array_line =[];
$line = ['column1','column2'];
$field_names = [ 0 => "title",1=>"description"];
foreach ($line as $column) {
$array_line[$field_names[$column_count]] = $column;
$column_count++;
}
\DB::table('post')->insert($array_line);
使用array_map填充列数:
DB::table('table')->insert(array_map(function ($item) {
$item['column_count'] = count(array_keys($item));
return $item;
}, $lines));