Laravel получить разницу в дате

У меня есть следующее

"end_time" represents datetime in unix format

$vouchers = DB::table('deals_sales')
                ->whereIn('status', [0, 1])
                ->where('end_time', '>=', strtotime("+5 day"))
                ->get();

То, чего я пытаюсь добиться, - это получить все результаты, которые должны закончиться в промежутке между сегодняшним днем ​​и следующими 5 днями, но с моим запросом я получу даже те, срок действия которых истекает через 10 дней.

Я просто не вижу логики того, как это получить.

Есть идеи?

Спасибо

1 ответ

Решение

Поскольку вы используете целочисленные временные метки, вы можете искать whereBetween, Попробуйте следующее:

$vouchers = DB::table('deals_sales')
                ->whereIn('status', [0, 1])
                ->whereBetween('end_time', [time(), strtotime("+5 day")])
                ->get();

Это даст вам записи, которые имеют end_time с настоящего момента и до следующих 5 дней.

Другие вопросы по тегам