Как обновить колонку базы данных, где дата равна текущей дате в течение 5 дней назад - PullRequest
0 голосов
/ 04 октября 2019

Я хочу обновить свою базу данных в Laravel. Мне нужно обновить только там, где created_at равно текущей дате или 5 дней назад.

Я пробовал приведенный ниже код, но обновляет поле created_at, только если оно равно текущей дате. Я хочу, чтобы это было также на 5 дней назад.

Приведенный ниже код работает, только если created_at равен сегодняшнему дню:

$date = Carbon::today();

DB::table('product_stocks')->whereDate('created_at', '=', $date)
->update([
  'status' => 1
]);

Ответы [ 2 ]

2 голосов
/ 04 октября 2019

Пожалуйста, попробуйте и дайте мне знать -

$from = Carbon::now()->subDays(5)->toDateTimeString(); 
$today = Carbon::now()->toDateTimeString();

DB::table('product_stocks')->whereBetween('created_at', [$from, $today])
    ->update([
       'status' => 1
    ]);
0 голосов
/ 04 октября 2019

Вы можете использовать Carbon, чтобы иметь дату 5 дней назад

DB::table('product_stocks')->whereDate('created_at', '>=', Carbon::now()->subDays(5))
->update([
  'status' => 1
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...