【问题标题】:How to insert multiple rows in laravel, need explanationlaravel中如何插入多行,需要解释
【发布时间】:2021-08-13 15:17:23
【问题描述】:

我想在表中插入多行,我插入的数据集合具有唯一编号。例如:我为 user_id 编号 1 插入 2 行。我来自控制器的代码是:我想保留 DB::table() 而不是 laravel eloquent

foreach($post_data['user_id'] as $key => $no){
        $set_base  = DB::table('package_user')
            ->Insert([
                'base_id' => $post_data['base_id'],
                'base_title' => $post_data['base_title'],
                'user_id' => $no,
                'package_id' => $post_data['package_id'],
                'plan_id' =>  $post_data['plan_id'],
                'currency' => $post_data['currency'],
                'payable_plan_amount' => $post_data['total_amount'],
                'created_at' =>  Carbon::now()

            ]);
    }

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    请参考How to insert multiple rows from a single query using eloquent/fluent eloquent 和 querybuilder 都有解决方案

          $data = [
        ['user_id'=>'Coder 1', 'subject_id'=> 4096],
        ['user_id'=>'Coder 2', 'subject_id'=> 2048],
    ];
    Model::insert($data); // Eloquent approach
    DB::table('table')->insert($data); // Query Builder approach
    

    【讨论】:

    • 所以我们不需要任何 foreach 循环?
    • 是的,你不需要foreach ..如果它有效,请接受答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    相关资源
    最近更新 更多