<?php
namespace App\Entity;
use App\Repository\QuestionnaireResultRepository;
use DateTimeImmutable;
use DateTimeInterface;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=QuestionnaireResultRepository::class)
* @ORM\Table(name="app_questionnaire_result")
*/
class QuestionnaireResult
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private ?string $result;
/**
* @ORM\ManyToOne(targetEntity=Survey::class, inversedBy="questionnaireResults")
* @ORM\JoinColumn(nullable=true, onDelete="CASCADE")
*/
private ?Survey $survey;
/**
* @ORM\ManyToOne(targetEntity=Question::class, inversedBy="questionnaireResults")
* @ORM\JoinColumn(nullable=true, onDelete="CASCADE")
*/
private ?Question $question;
/**
* @ORM\ManyToOne(targetEntity=Answer::class, inversedBy="questionnaireResults")
* @ORM\JoinColumn(nullable=true, onDelete="CASCADE")
*/
private ?Answer $answer;
/**
* @ORM\ManyToOne(targetEntity=User::class, inversedBy="questionnaireResults")
* @ORM\JoinColumn(nullable=true, onDelete="CASCADE")
*/
private ?User $user;
/**
* @ORM\Column(type="datetime_immutable", nullable=true, options={"default": "CURRENT_TIMESTAMP"})
*/
private ?DateTimeInterface $createAt;
/**
* @ORM\Column(type="boolean", options={"default": false})
*/
private bool $completed = false;
public function getId(): ?int
{
return $this->id;
}
public function getResult(): ?string
{
return $this->result;
}
public function setResult(?string $result): self
{
$this->result = $result;
return $this;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
public function getAnswer(): ?Answer
{
return $this->answer;
}
public function setAnswer(?Answer $answer): self
{
$this->answer = $answer;
return $this;
}
public function getQuestion(): ?Question
{
return $this->question;
}
public function setQuestion(?Question $question): self
{
$this->question = $question;
return $this;
}
public function getSurvey(): ?Survey
{
return $this->survey;
}
public function setSurvey(?Survey $survey): self
{
$this->survey = $survey;
return $this;
}
public function getCreateAt(): ?DateTimeInterface
{
return $this->createAt;
}
public function setCreateAt(?DateTimeImmutable $createAt): self
{
$this->createAt = $createAt;
return $this;
}
public function isCompleted(): bool
{
return $this->completed;
}
public function setCompleted(bool $completed): self
{
$this->completed = $completed;
return $this;
}
}