我有一个用户可以发表评论的用例,评论应该根据当月的第一天到当月的最后一天更新或插入。如果该月已过,则需要为这个新月创建一个新条目,直到该月的最后一天。现在的问题是,当我把 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')
]
);
}