2017-08-01 11 views
1

雄弁を使用してファイル全体を保存する方法はありますか? たとえば、私は1000アイテムを保存する、伝統的な方法はforeachを使用して保存しています。Laravel Eloquent Batch Saving

保存プロセスの途中でインターネット接続が切断された場合、まだ完了していない残りのアイテムは保存されません。この問題に対処する方法はありますか?

私は実現可能と思いますが、ストアドプロシージャを使用しているが、帯域幅が私たちを殺すでしょう。

答えて

2

トランザクションは、https://laravel.com/docs/5.4/database#database-transactionsをご覧ください。

DBファサードのトランザクションメソッドを使用して、データベーストランザクション内で一連の操作を実行することができます。トランザクションクロージャ内で例外がスローされた場合、トランザクションは自動的にロールバックされます。 Closureが正常に実行されると、トランザクションは自動的にコミットされます。

もう1つの方法は、insert()関数を使用して一度にデータを作成することです。

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

この男のためにありがとう –