2017-08-01 109 views
1

有沒有什麼辦法可以用如何保存整批文件的口才? 例如我有1000個項目要保存,傳統的方式是使用foreach並保存。Laravel雄辯批量保存

我所預見的是,如果互聯網連接在保存過程中失效,剩下的項目仍然沒有完成保存,有沒有辦法解決這個問題?

我認爲可行的是使用存儲過程,但帶寬會殺死我們。

回答

2

你在找什麼是交易,請看看https://laravel.com/docs/5.4/database#database-transactions

您可以在數據庫門面上使用事務方法來運行數據庫事務中的一組操作。如果在事務Closure內引發異常,事務將自動回滾。如果Closure成功執行,交易將自動提交。

另一種方法是使用insert()函數一次創建數據。

DB::table('users')->insert([ 
    ['email' => '[email protected]', 'votes' => 0], 
    ['email' => '[email protected]', 'votes' => 0] 
]); 
+0

非常感謝這位男士 –