src/CoreBundle/Entity/SkillRelCourse.php
<?php
/* For licensing terms, see /license.txt */
declare(strict_types=1);
namespace Chamilo\CoreBundle\Entity;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Timestampable\Traits\TimestampableEntity;
/**
* SkillRelCourse.
*/
#[ORM\Table(name: 'skill_rel_course')]
#[ORM\Entity]
class SkillRelCourse
{
use TimestampableEntity;
#[ORM\Column(name: 'id', type: 'integer')]
#[ORM\Id]
#[ORM\GeneratedValue]
protected ?int $id = null;
#[ORM\ManyToOne(targetEntity: Skill::class, inversedBy: 'courses')]
#[ORM\JoinColumn(name: 'skill_id', referencedColumnName: 'id', onDelete: 'CASCADE')]
protected Skill $skill;
#[ORM\ManyToOne(targetEntity: Course::class, cascade: ['persist'], inversedBy: 'skills')]
#[ORM\JoinColumn(name: 'c_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')]
protected Course $course;
#[ORM\ManyToOne(targetEntity: Session::class, cascade: ['persist'], inversedBy: 'skills')]
#[ORM\JoinColumn(name: 'session_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')]
protected ?Session $session = null;
public function __construct()
{
$this->createdAt = new DateTime('now');
$this->updatedAt = new DateTime('now');
}
public function getId(): ?int
{
return $this->id;
}
public function getSkill(): Skill
{
return $this->skill;
}
public function setSkill(Skill $skill): self
{
$this->skill = $skill;
return $this;
}
public function getCourse(): Course
{
return $this->course;
}
public function setCourse(Course $course): self
{
$this->course = $course;
return $this;
}
public function getSession(): ?Session
{
return $this->session;
}
public function setSession(?Session $session): self
{
$this->session = $session;
return $this;
}
public function getCreatedAt(): DateTime
{
return $this->createdAt;
}
public function setCreatedAt(DateTime $createdAt): static
{
$this->createdAt = $createdAt;
return $this;
}
public function getUpdatedAt(): DateTime
{
return $this->updatedAt;
}
public function setUpdatedAt(DateTime $updatedAt): static
{
$this->updatedAt = $updatedAt;
return $this;
}
}