如何在1评论后停止给予奖励积分

时间:2017-11-22 08:00:24

标签: laravel laravel-5 laravel-5.5

5 我想如果用户评论第一次授予奖励+5后另一个评论不应该获得奖励 这是我的控制器逻辑

public function comment($automobile, Request $request){
    $automobile = Automobile::where('slug', $automobile)->firstorfail();
    $comment = new Automobilecomment;
    $comment->user_id = Auth::user()->id;
    $comment->automobile_id = $automobile->id;
    $comment->comment = $request->comment;
    $comment->save();
    $user = User::find(Auth::user()->id);
    $reward = 5;
    $currentreward = $user->reward;
    $user->reward = $currentreward + $reward;
    $user->save();
    return Redirect::back()->with('status', 'Comment Success');
}

如果您需要更多信息,请告诉我,因为我之前从未这样做过

1 个答案:

答案 0 :(得分:1)

试试这个:

`

public function comment($automobile, Request $request){
    $check = Automobile::where('user_id', Auth::user()->id)->where('automobile_id', $automobile->id)->get()->first();

    $automobile = Automobile::where('slug', $automobile)->firstorfail();
    $comment = new Automobilecomment;
    $comment->user_id = Auth::user()->id;
    $comment->automobile_id = $automobile->id;
    $comment->comment = $request->comment;
    $comment->save();

if(!$check)
{
    $user = User::find(Auth::user()->id);
    $reward = 5;
    $currentreward = $user->reward;
    $user->reward = $currentreward + $reward;
    $user->save();
}
    return Redirect::back()->with('status', 'Comment Success');
}`