<?php namespace App\Entity\System; use App\Entity\Case\MemberCase; use App\Repository\System\UserCaseRepository; use Doctrine\ORM\Mapping as ORM; #[ORM\Entity(repositoryClass: UserCaseRepository::class)] class UserCase { #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] private ?int $id = null; #[ORM\ManyToOne(inversedBy: 'userCases')] #[ORM\JoinColumn(nullable: false)] private ?User $user = null; #[ORM\ManyToOne(inversedBy: 'userCases')] #[ORM\JoinColumn(nullable: false)] private ?MemberCase $memberCase = null; public function getId(): ?int { return $this->id; } public function getUser(): ?User { return $this->user; } public function setUser(?User $user): static { $this->user = $user; return $this; } public function getMemberCase(): ?MemberCase { return $this->memberCase; } public function setMemberCase(?MemberCase $memberCase): static { $this->memberCase = $memberCase; return $this; } public static function checkLevel(User $user, MemberCase $case): bool { return ($user->getLevel()->value >= $case->getLevel()->value); } }