使用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])
}
任何想让它更快的想法?或更好的方法来进行此更新?
由于
答案 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不同,但我认为这是“雄辩”的方式。