Запрос на получение данных в зависимости от переменной, отсутствующей в базе данных?

Я использую рюкзак laravel и пытаюсь отправить смс тем клиентам, чья подписка истечет в ближайшие 7 дней.

В моей базе данных есть столбец с именем expiry_date, но нет столбца для day_difference.

Я не могу найти решение этой проблемы, например, как мне сформировать запрос, например:

DB::table('clients')->where('expiry_date', 'is greater than 7 days from today_date')->first();

Извините, это всего лишь грубая заплата, и я хочу сделать это честно.

Это то, что я пробовал

public function notifyPending() {
    $today_date = Carbon::now();
    $entries = Clients::all()->where('gym_code',Auth::user()->gym_code);

    foreach ($entries as $k => $entry) {

        $data_differences[] = $today_date->diffInDays(Carbon::parse($entry->expiry_date), false);

        for($i=0;$i<=sizeof($data_differences);$i++) {

            if ($data_differences[$i] = 7) {

            }

        }
    }


}

Я вызову эту функцию на кнопке, переопределив список crudcontroller.

поэтому мне нужен массив мобильных номеров, у которых осталось 7 дней до истечения срока их подписки.


person Himanshu Daswani    schedule 11.11.2017    source источник
comment
какой язык базы данных вы используете? mysql или другой?   -  person Curious    schedule 11.11.2017
comment
mysql это сэр   -  person Himanshu Daswani    schedule 11.11.2017
comment
$diff=date('Y-m-d', strtotime(+7 days)); поместите его туда, где expiry_date=$diff   -  person Curious    schedule 11.11.2017
comment
Извините за заголовок @TimBrownlaw, я его изменю. Я был слишком смущен, поэтому добавил это   -  person Himanshu Daswani    schedule 11.11.2017


Ответы (1)


Сначала вы можете получить дату через 7 дней, используя PHP

$diff=date('Y-m-d', strtotime("+7 days"));

то вы можете использовать эту переменную $diff в своем запросе

where('expiry_date', $diff)
person Curious    schedule 11.11.2017
comment
Я хочу уведомить клиента за 7 дней до expiry_date. Так должно быть -7 дней или +7 дней, сэр? - person Himanshu Daswani; 11.11.2017
comment
Здесь вы получите список клиентов, срок действия которых истечет 18-11-2017. Нет, теперь вы можете отправить сообщение всем тем, кто истекает 18-11-2017 с сегодняшней даты 11-11-2017. так должно быть +7 - person Curious; 11.11.2017
comment
Хорошо, позвольте мне попробовать. - person Himanshu Daswani; 11.11.2017
comment
где('expiry_date', $diff) это правильно, обновите, сэр. Это работает!! - person Himanshu Daswani; 11.11.2017