@Djonson86
Нечем похвастаться.

Как в ларавел выбрать юзеров, созданных за предыдущую неделю?

За текущую неделю выбираю так
$count = Users::whereDate('created_at', '>=', date('Y-m-d H:i:s', strtotime('-7 days')))->count();


За предыдущею (тойсь между 7 дней и 14 дней) пытаюсь выбрать примерно так:
$count = Users::whereDate([
            ['created_at', '<', date('Y-m-d H:i:s', strtotime('-7 days'))],
            ['created_at', '>=', date('Y-m-d H:i:s', strtotime('-14 days'))],
        ])->count();

Но вылетают ошибки. Возможно синтаксис неправильный, или не поддерживает "и", толком не мог нагуглить по этой функции whereDate. Как это сделать? Или может есть готовые функция для этого?
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
$count = Users::whereDate('created_at', '<', date('Y-m-d H:i:s', strtotime('-7 days')))->whereDate('created_at', '>=', date('Y-m-d H:i:s', strtotime('-14 days')))->count();
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@jazzus
Предыдущая неделя это не между минус 14 и 7 дней. Для недель:
User::whereBetween('created_at', [
        now()->startOfWeek()->subWeek(), 
        now()->startOfWeek()
      ])
    ->count();

дни
User::whereBetween('created_at', [
    now()->subDays(14), 
    now()->subDays(7)
  ])
->count();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы