Как создать ежемесячный и ежегодный повторный счет в 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