<?php
namespace Sq\Entity\Schema\ORM;
use Carbon\Carbon;
use Doctrine\ORM\Mapping as ORM;
/**
* UserOnboardingStep.
*/
#[ORM\Entity]
#[ORM\Table(name: 'user_onboarding_step')]
#[ORM\Index(name: 'fk__s_u_id', columns: ['s_u_id'])]
#[ORM\UniqueConstraint(name: 'uqx__s_name__s_u_id', columns: ['s_name', 's_u_id'])]
class UserOnboardingStep
{
/**
* @var int
*/
#[ORM\Column(name: 's_id', type: 'integer', nullable: false, options: ['unsigned' => true])]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
private $id;
/**
* @var string
*/
#[ORM\Column(name: 's_name', type: 'string', length: 255, nullable: false)]
private $name;
/**
* @var \DateTime
*/
#[ORM\Column(name: 's_datetime', type: 'datetime', nullable: false)]
private $datetime;
/**
* @var User
*/
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'onboardingStepsSeen')]
#[ORM\JoinColumn(name: 's_u_id', referencedColumnName: 'u_id', nullable: false)]
private $user;
public function __construct(User $user, string $name)
{
$this->user = $user;
$this->name = $name;
$this->datetime = Carbon::now();
}
public function getId(): ?int
{
return $this->id;
}
public function getName(): string
{
return $this->name;
}
public function getUser(): User
{
return $this->user;
}
public function getDatetime(): \DateTimeInterface
{
return $this->datetime;
}
}