<?php
namespace App\Entity;
use App\Repository\LinkRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=LinkRepository::class)
*/
class Link
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $link;
/**
* ============================================================
* {# CONCEPTION MÉTIER — USER UNIQUE POUR CLIENT & FOURNISSEUR #}
*
* Afin d’éviter les incohérences de données (user_id NULL),
* la relation Supplier a été supprimée au profit d’un lien
* unique vers l’entité User.
*
* Règle :
* - un lien appartient TOUJOURS à un User
* - le type (client / fournisseur) est porté par User
*
* Avantages :
* - aucune ligne orpheline (user_id NOT NULL)
* - modèle plus simple et plus robuste
* - évite les migrations complexes et les erreurs SQL
* ============================================================
*/
/**
* @ORM\ManyToOne(targetEntity=User::class, inversedBy="links")
* @ORM\JoinColumn(nullable=false)
*/
private $user;
/**
* @ORM\ManyToOne(targetEntity=LinkSource::class, inversedBy="links")
* @ORM\JoinColumn(nullable=false)
*/
private $linkSource;
public function getId(): ?int
{
return $this->id;
}
public function getLink(): ?string
{
return $this->link;
}
public function setLink(string $link): self
{
$this->link = $link;
return $this;
}
public function getUser(): ?User
{
return $this->user;
}
public function setUser(User $user): self
{
$this->user = $user;
return $this;
}
public function getLinkSource(): ?LinkSource
{
return $this->linkSource;
}
public function setLinkSource(LinkSource $linkSource): self
{
$this->linkSource = $linkSource;
return $this;
}
}