Laravel 基于 whereBetween 更新或插入数据透视表

我有一个用户可以发表评论的用例,评论应该根据当月的第一天到当月的最后一天更新或插入。如果该月已过,则需要为这个新月创建一个新条目,直到该月的最后一天。现在的问题是,当我把 whereBetween 放到上个月的时候,它仍然更新了这个月的数据。

型号:

public function analyticReviews()
{
    return $this->belongsToMany(Review::class,'reviews_analytics_pivot')
        ->whereBetween('created_at',['2021-07-01','2021-07-31']);
}

控制器:

public function update(Request $request)
{
    $user = User::findOrFail($request->input('user_id'));


    $user->analyticReviews()
        ->newPivotQuery()
        ->updateOrInsert(
            [
                'review_id' => $request->input('review_id'),'user_id' => $user->id
            ],[
                'review_id' => $request->input('review_id'),'user_id' => $user->id,'counter' => DB::raw('counter+1')
            ]
        );
}
zhuyudiao 回答:Laravel 基于 whereBetween 更新或插入数据透视表

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1420.html

大家都在问