2017-12-13 7 views
0

Laravel 5.5を使用して、雄弁です。 今、私は数のデータリストをたくさん持っています。 例のデータは、実際には100以上のデータを持っている: user_walletsより良い方法でデータのリストを更新する考えですか?

-------------------------- 
|id | points | use_point | 
-------------------------- 
|1 | 10.2 | 502.22 | 
|2 | 32.6 | 23.3  | 
|3 | 33  | 1020.32 | 
-------------------------- 

すべてのアイデアは、より良い方法でポイントを更新しますか? 私はすべてのポイントを* 0.55で更新したいとします。下の は私の現在の方法ですが、遅くなります。 となり、この計算はいくつかのオファー日付で更新されます。

$rate = $request->rate; //0.55 
$wallets = UserWallet::all(); 
foreach($wallets as $wallet) 
{ 
    UserWallet::find($wallet->id)->update(['points'=>$wallet->points*$rate]) 
} 

もっと速くするためのアイデアはありますか?またはこのアップデートを行うためのより良い方法は?あなたは$財布としてeach()方法を使用して試みることができる

おかげ

答えて

1

コレクションです。だから、

$rate = $request->rate; //0.55 
$wallets = UserWallet::all(); 
$wallets->each(function($item, $key) use(&$rate){ 
    $item->update(['points' => $item->points*$rate]) 
}); 

それは、foreachのとは別の全体の多くではないのですが、私はそれが「雄弁」方法だと思います。

+0

注目と感謝。私はこれを試す前に、より良い方法を得るためには、現在のところ、それが更新されるたびに、サーバーが遅くなる。 –

関連する問題