<?php
namespace App\ProfileBundle\Entity;
use App\CmsBundle\Entity\Tag;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\ProfileBundle\Repository\UserTagRepository")
* @ORM\Table(name="user_tag",
* indexes={
* @ORM\Index(name="user_idx", columns={"user_id"}),
* @ORM\Index(name="user_tag_idx", columns={"tag_id"})
* },
* uniqueConstraints={
* @ORM\UniqueConstraint(name="user_tag_unique", columns={"user_id", "tag_id"})
* }
* )
*/
class UserTag
{
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity=User::class)
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
private User $user;
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity=Tag::class, inversedBy="userTags")
* @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
*/
private Tag $tag;
/**
* @ORM\ManyToOne(targetEntity=UserTagAction::class)
* @ORM\JoinColumn(nullable=true, onDelete="CASCADE")
*/
private ?UserTagAction $userTagAction;
/**
* @ORM\Column(type="float")
*/
private ?float $weight;
/**
* @return User
*/
public function getUser(): User
{
return $this->user;
}
/**
* @param User $user
* @return $this
*/
public function setUser(User $user): self
{
$this->user = $user;
return $this;
}
/**
* @return Tag
*/
public function getTag(): Tag
{
return $this->tag;
}
/**
* @param Tag $tag
* @return $this
*/
public function setTag(Tag $tag): self
{
$this->tag = $tag;
return $this;
}
/**
* @return UserTagAction|null
*/
public function getUserTagAction(): ?UserTagAction
{
return $this->userTagAction;
}
/**
* @param UserTagAction|null $userTagAction
* @return $this
*/
public function setUserTagAction(?UserTagAction $userTagAction): self
{
$this->userTagAction = $userTagAction;
return $this;
}
/**
* @return float|null
*/
public function getWeight(): ?float
{
return $this->weight;
}
/**
* @param float $weight
* @return $this
*/
public function setWeight(float $weight): self
{
$this->weight = $weight;
return $this;
}
}