如何创建增量数组以进行批量插入?

时间:2018-02-22 04:32:35

标签: arrays laravel builder

我需要做类似下面的示例,但我不知道如何将字段添加到数组中。

    $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);

2 个答案:

答案 0 :(得分:0)

使用array_map填充列数:

-8

答案 1 :(得分:0)

$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);