<?php
namespace App\Entity;
use App\Entity\Interfaces\DefaultEntity;
use App\Entity\Traits\ActiveTrait;
use App\Entity\Traits\DeleteTrait;
use App\Entity\Traits\FileUploadTrait;
use App\Entity\Traits\SortOrderTrait;
use App\Entity\Traits\TitleAndContentTrait;
use App\Entity\Traits\TranslateTrait;
use App\Repository\ResourceRepository;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Gedmo\Timestampable\Traits\TimestampableEntity;
/**
* @Gedmo\Loggable
*/
#[ORM\Entity(repositoryClass: ResourceRepository::class)]
#[ORM\HasLifecycleCallbacks]
#[ORM\Table(name: 'resource')]
class Resource implements DefaultEntity
{
use TitleAndContentTrait;
use FileUploadTrait;
use SortOrderTrait;
use ActiveTrait;
use DeleteTrait;
use TimestampableEntity;
use TranslateTrait;
#[ORM\Column(name: 'id', type: 'integer')]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'AUTO')]
private readonly int $id;
#[ORM\ManyToOne(targetEntity: ResourceCategory::class, inversedBy: 'resources')]
#[ORM\JoinColumn(nullable: false)]
private $category;
public function getId(): ?int
{
return $this->id;
}
public function getCategory(): ?ResourceCategory
{
return $this->category;
}
public function setCategory(?ResourceCategory $category): self
{
$this->category = $category;
return $this;
}
}