<?php
namespace App\Entity;
use App\Entity\Common\RoleInterface;
use App\Entity\Traits\RoleTrait;
use App\Repository\UserProjectRepository;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: UserProjectRepository::class)]
class UserProject implements RoleInterface
{
use RoleTrait;
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'userProjects')]
private $user;
#[ORM\ManyToOne(targetEntity: Project::class, inversedBy: 'userProjects')]
private $project;
#[ORM\Column(name: 'favorite', type: 'boolean', options: ['default' => 0])]
private $favorite;
public function __toString()
{
return '('.$this->project->getName().') '.$this->user->getLastName().''.$this->user->getFirstName();
}
public function getId(): ?int
{
return $this->id;
}
public function getUser(): ?User
{
return $this->user;
}
/**
* @return $this
*/
public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
public function getProject(): ?Project
{
return $this->project;
}
/**
* @return $this
*/
public function setProject(?Project $project): self
{
$this->project = $project;
return $this;
}
public function isFavorite(): ?bool
{
return $this->favorite;
}
public function setFavorite(bool $favorite): self
{
$this->favorite = $favorite;
return $this;
}
}