<?php
namespace App\Entity;
use App\Repository\LivretEvaluationRepository;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* @ORM\Entity(repositoryClass=LivretEvaluationRepository::class)
* @ORM\HasLifecycleCallbacks
*/
class LivretEvaluation
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="text")
*/
private $commentaire;
/**
* @ORM\Column(type="json")
*/
private $faits = [];
/**
* @ORM\ManyToOne(targetEntity=User::class, inversedBy="livretEvaluations")
* @ORM\JoinColumn(nullable=false)
*/
private $eleve;
/**
* @ORM\ManyToOne(targetEntity=LivretAcquis::class, inversedBy="evaluations")
* @ORM\JoinColumn(nullable=false)
*/
private $acquis;
/**
* @ORM\Column(type="date")
* @Gedmo\Timestampable(on="create")
*/
private $created;
/**
* @ORM\Column(type="date")
* @Gedmo\Timestampable(on="update")
*/
private $updated;
public function getId(): ?int
{
return $this->id;
}
public function getCommentaire(): ?string
{
return $this->commentaire;
}
public function setCommentaire(string $commentaire): self
{
$this->commentaire = $commentaire;
return $this;
}
public function getFaits(): ?array
{
return $this->faits;
}
public function setFaits(array $faits): self
{
foreach ($faits as &$fait) {
if (in_array($fait,["true","false"], true)) $fait = ($fait === "true");
if (in_array($fait,["0","1"], true)) $fait = ($fait === "0");
if (in_array($fait,[0,1], true)) $fait = ($fait === 0);
}unset($fait);
$this->faits = $faits;
return $this;
}
public function getEleve(): ?User
{
return $this->eleve;
}
public function setEleve(?User $eleve): self
{
$this->eleve = $eleve;
return $this;
}
public function getEnseignant(): ?User
{
return $this->enseignant;
}
public function setEnseignant(?User $enseignant): self
{
$this->enseignant = $enseignant;
return $this;
}
public function getAcquis(): ?LivretAcquis
{
return $this->acquis;
}
public function setAcquis(?LivretAcquis $acquis): self
{
$this->acquis = $acquis;
return $this;
}
public function getCreated(): ?\DateTimeInterface
{
return $this->created;
}
public function setCreated(\DateTimeInterface $created): self
{
$this->created = $created;
return $this;
}
public function getUpdated(): ?\DateTimeInterface
{
return $this->updated;
}
public function setUpdated(\DateTimeInterface $updated): self
{
$this->updated = $updated;
return $this;
}
}