#php #laravel
Вопрос:
У меня есть пример использования, когда пользователь может дать отзыв, отзыв должен быть обновлен или вставлен в зависимости от первого дня текущего месяца до последнего дня месяца. Если месяц прошел, ему необходимо создать новую запись для этого нового месяца до последнего дня этого месяца. Проблема теперь в том, что, когда я переношу промежуток между предыдущим месяцем, он все равно обновляет данные за этот месяц.
Модель:
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')
]
);
}