src/Entity/Link.php line 11

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\LinkRepository;
  4. use Doctrine\ORM\Mapping as ORM;
  5. /**
  6.  * @ORM\Entity(repositoryClass=LinkRepository::class)
  7.  */
  8. class Link
  9. {
  10.     /**
  11.      * @ORM\Id
  12.      * @ORM\GeneratedValue
  13.      * @ORM\Column(type="integer")
  14.      */
  15.     private $id;
  16.     /**
  17.      * @ORM\Column(type="string", length=255)
  18.      */
  19.     private $link;
  20.     /**
  21.      * ============================================================
  22.      * {# CONCEPTION MÉTIER — USER UNIQUE POUR CLIENT & FOURNISSEUR #}
  23.      *
  24.      * Afin d’éviter les incohérences de données (user_id NULL),
  25.      * la relation Supplier a été supprimée au profit d’un lien
  26.      * unique vers l’entité User.
  27.      *
  28.      * Règle :
  29.      * - un lien appartient TOUJOURS à un User
  30.      * - le type (client / fournisseur) est porté par User
  31.      *
  32.      * Avantages :
  33.      * - aucune ligne orpheline (user_id NOT NULL)
  34.      * - modèle plus simple et plus robuste
  35.      * - évite les migrations complexes et les erreurs SQL
  36.      * ============================================================
  37.      */
  38.     /**
  39.      * @ORM\ManyToOne(targetEntity=User::class, inversedBy="links")
  40.      * @ORM\JoinColumn(nullable=false)
  41.      */
  42.     private $user;
  43.     /**
  44.      * @ORM\ManyToOne(targetEntity=LinkSource::class, inversedBy="links")
  45.      * @ORM\JoinColumn(nullable=false)
  46.      */
  47.     private $linkSource;
  48.     public function getId(): ?int
  49.     {
  50.         return $this->id;
  51.     }
  52.     public function getLink(): ?string
  53.     {
  54.         return $this->link;
  55.     }
  56.     public function setLink(string $link): self
  57.     {
  58.         $this->link $link;
  59.         return $this;
  60.     }
  61.     public function getUser(): ?User
  62.     {
  63.         return $this->user;
  64.     }
  65.     public function setUser(User $user): self
  66.     {
  67.         $this->user $user;
  68.         return $this;
  69.     }
  70.     public function getLinkSource(): ?LinkSource
  71.     {
  72.         return $this->linkSource;
  73.     }
  74.     public function setLinkSource(LinkSource $linkSource): self
  75.     {
  76.         $this->linkSource $linkSource;
  77.         return $this;
  78.     }
  79. }