laravel如何實現數據的批量插入


說明

這次接手的項目有一個頭疼的模塊就是批量插入的問題最終問題解決
上代碼

  • blade模板中的代碼
<form action="{{url('demo_import')}}" method="post">
    {{csrf_field()}}
    a<input type="text" value="a" name="a[]"><br>
    b<input type="text" value="b" name="b[]"><br>

    a1<input type="text" value="a1" name="a[]"><br>
    b1<input type="text" value="b1" name="b[]"><br>

    a2<input type="text" value="a2" name="a[]"><br>
    b2<input type="text" value="b2" name="b[]"><br>

    <input type="submit" value="提交">
</form>
  • 接收過來的數據顯示

對應的數據庫信息

  • 數據庫DDl信息
CREATE TABLE `v` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`title` varchar(200) NOT NULL,
`type` int(1) DEFAULT NULL,
`option_a` varchar(100) DEFAULT NULL,
`option_b` varchar(100) DEFAULT NULL,
`option_c` varchar(100) DEFAULT NULL,
`option_d` varchar(100) DEFAULT NULL,
`option_e` varchar(100) DEFAULT NULL,
`option_f` varchar(100) DEFAULT NULL,
`option_g` varchar(100) DEFAULT NULL,
`option_h` varchar(100) DEFAULT NULL,
`answer` varchar(100) DEFAULT NULL,
`score` int(11) DEFAULT NULL,
`pageid` int(11) DEFAULT NULL,
`token` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `token` (`token`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=135 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='知識競賽表';

代碼邏輯

  • 控制器核心代碼

public function demo(Request $request)
    {
        $input = $request->except('_token');

        for ($i = 0; $i <= count($input); $i++) {

            Demo::insert(['a' => $input['a'][$i], 'b' => $input['b'][$i]]);
        }
    }
  • 結果示例

數據庫顯示信息如下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM