我有这段代码:
if(Auth::user())
{
Auth::user()->points = $request->points + 100;
Auth::user()->save();
}
每当用户点击评论框中的提交按钮时,他应该获得+100分,问题是当我点击提交,评论被保存并且点数被保存。例如,如果我得到0分或更多,无论多少,在每次评论之后,它仍然会显示我有100个。似乎我可以向现有点添加另外100个,它只是改变它自己的值和不添加更多积分。
答案 0 :(得分:2)
你应该尝试这样分配:
Auth::user()->points += 100;
如果我理解你的情况。
基本上,您可能需要确保$request->points
具有正确的值。或者只是增加用户持有的价值。
另一种尝试方法是:
Auth::user()->increment('points', 100);
有关here
的更多信息