setTable('reports_schedulers') ->setCustomRepositoryClass(SchedulerRepository::class); $builder->addId(); $builder->createManyToOne('report', Report::class) ->addJoinColumn('report_id', 'id', false, false, 'CASCADE') ->build(); $builder->createField('scheduleDate', Types::DATETIME_MUTABLE) ->columnName('schedule_date') ->nullable(false) ->build(); } public function __construct( private Report $report, private \DateTimeInterface $scheduleDate ) { } /** * Get id. * * @return int */ public function getId() { return $this->id; } /** * @return Report */ public function getReport() { return $this->report; } /** * @return \DateTimeInterface */ public function getScheduleDate() { return $this->scheduleDate; } }