Как создать ежемесячный и ежегодный повторный счет в Laravel

0 Karthik [2017-04-07 14:37:00]

Я делаю приложение-фактуру в Laravel. В моем приложении пользователи могут создавать повторяющиеся профили. Эти профили автоматически генерируют счета-фактуры ежемесячно или ежегодно в зависимости от даты выставления счета. Я хочу знать, как это сделать, может ли кто-нибудь давать предложения?

Что я делаю: когда пользователь создает повторяющийся профиль, я сохраняю следующую повторяющуюся дату в повторяющейся таблице профилей. Каждый раз, когда я создаю счет на основе следующей повторяющейся даты. В этом процессе у меня есть следующая проблема: пользователь деактивирует профиль и снова активируется через 2 месяца, счет-фактура не может быть сгенерирован.

php laravel laravel-5.3


1 ответ


1 Rubanraj Ravichandran [2017-04-07 15:17:00]

Откройте файл kernal.php в папке app-> console

protected function schedule(Schedule $schedule)
    {
        $schedule->call(function () {
           //code
        })->monthly();

        $schedule->call(function () {
           //code
        })->yearly();

        //this following code will execute the task on last day of every month 
        $schedule->call(function () {
           //code
        })->when(function () {
                return \Carbon\Carbon::now()->endOfMonth()->isToday();
                });
    }

В методе расписания напишите свой код внутри анонимной функции и используйте функцию month() и yearly() для автоматического запуска метода каждый месяц и год автоматически.

Дополнительная информация здесь https://laravel.com/docs/5.4/scheduling#schedule-frequency-options