Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

GenerateRecurringInvoices.php 892B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace App\Jobs;
  3. use App\Enums\Accounting\RecurringInvoiceStatus;
  4. use App\Models\Accounting\RecurringInvoice;
  5. use Illuminate\Contracts\Queue\ShouldQueue;
  6. use Illuminate\Foundation\Bus\Dispatchable;
  7. use Illuminate\Foundation\Queue\Queueable;
  8. use Illuminate\Queue\InteractsWithQueue;
  9. use Illuminate\Queue\SerializesModels;
  10. class GenerateRecurringInvoices implements ShouldQueue
  11. {
  12. use Dispatchable;
  13. use InteractsWithQueue;
  14. use Queueable;
  15. use SerializesModels;
  16. /**
  17. * Execute the job.
  18. */
  19. public function handle(): void
  20. {
  21. RecurringInvoice::query()
  22. ->where('status', RecurringInvoiceStatus::Active)
  23. ->chunk(100, function ($recurringInvoices) {
  24. foreach ($recurringInvoices as $recurringInvoice) {
  25. $recurringInvoice->generateDueInvoices();
  26. }
  27. });
  28. }
  29. }