有想法用更好的方式更新数据列表吗?

时间:2017-12-13 16:02:36

标签: eloquent laravel-5.5

使用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])
}

任何想让它更快的想法?或更好的方法来进行此更新?

由于

1 个答案:

答案 0 :(得分:1)

您可以尝试使用each()方法,因为$ wallets是一个集合。

所以:

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

与foreach不同,但我认为这是“雄辩”的方式。