entityManager = $diContainer->get(EntityManager::class); } public function create(ScheduledTaskEntity $task, ?NewsletterEntity $newsletter = null, \DateTimeInterface $deletedAt = null): SendingQueueEntity { $queue = new SendingQueueEntity(); $queue->setTask($task); $task->setSendingQueue($queue); $newsletter = $newsletter ?: $this->entityManager->getReference(NewsletterEntity::class, rand(1, 9999)); if ($newsletter) { // for phpstan because getReference can return null $queue->setNewsletter($newsletter); } if ($deletedAt) { $queue->setDeletedAt($deletedAt); } $this->entityManager->persist($queue); $this->entityManager->flush(); return $queue; } }