HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/dvpis2025/dvpis.kaunokolegija.lt/src/Entity/ActivitiesGroupLecturerPositionActivities.php
<?php

namespace App\Entity;

use App\Repository\ActivitiesGroupLecturerPositionActivitiesRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Doctrine\ORM\Mapping\UniqueConstraint;

#[ORM\Entity(repositoryClass: ActivitiesGroupLecturerPositionActivitiesRepository::class)]
#[ORM\Table(name: 'activities_group_lecturer_position_activities')]
#[UniqueConstraint(name: 'unique_idx', columns: ['lecturer_position_activity_id', 'activities_group_id', 'lecturer_position_id'])]
#[UniqueEntity(fields: ['LecturerPositionActivityId', 'ActivitiesGroupId', 'lecturerPosition'], message: 'Toks įrašas jau egzistuoja', errorPath: 'entity')]
class ActivitiesGroupLecturerPositionActivities
{
    #[ORM\Id]
    #[ORM\GeneratedValue]
    #[ORM\Column]
    private ?int $id = null;

    #[ORM\ManyToOne(inversedBy: 'activitiesGroupLecturerPositionActivities')]
    #[ORM\JoinColumn(name: 'lecturer_position_activity_id', referencedColumnName: 'id', nullable: false)]
    private ?LecturerPositionActivity $LecturerPositionActivityId = null;

    #[ORM\ManyToOne(inversedBy: 'activitiesGroupLecturerPositionActivities')]
    #[ORM\JoinColumn(name: 'activities_group_id', referencedColumnName: 'id', nullable: false)]
    private ?ActivitiesGroup $ActivitiesGroupId = null;

    #[ORM\ManyToOne(inversedBy: 'activitiesGroupLecturerPositionActivities')]
    #[ORM\JoinColumn(nullable: false)]
    private ?LecturerPosition $lecturerPosition = null;

    /**
     * @var Collection<int, FiveYearLecturerPlan>
     */
    #[ORM\OneToMany(mappedBy: 'ActivitiesGroupLecturerPositionActivity', targetEntity: FiveYearLecturerPlan::class)]
    private Collection $fiveYearLecturerPlans;

    public function __construct()
    {
        $this->fiveYearLecturerPlans = new ArrayCollection();
    }

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getLecturerPositionActivityId(): ?LecturerPositionActivity
    {
        return $this->LecturerPositionActivityId;
    }

    public function setLecturerPositionActivityId(?LecturerPositionActivity $LecturerPositionActivityId): static
    {
        $this->LecturerPositionActivityId = $LecturerPositionActivityId;

        return $this;
    }

    public function getActivitiesGroupId(): ?ActivitiesGroup
    {
        return $this->ActivitiesGroupId;
    }

    public function setActivitiesGroupId(?ActivitiesGroup $ActivitiesGroupId): static
    {
        $this->ActivitiesGroupId = $ActivitiesGroupId;

        return $this;
    }

    public function getLecturerPosition(): ?LecturerPosition
    {
        return $this->lecturerPosition;
    }

    public function setLecturerPosition(?LecturerPosition $lecturerPosition): static
    {
        $this->lecturerPosition = $lecturerPosition;

        return $this;
    }

    /**
     * @return Collection<int, FiveYearLecturerPlan>
     */
    public function getFiveYearLecturerPlans(): Collection
    {
        return $this->fiveYearLecturerPlans;
    }

    public function addFiveYearLecturerPlan(FiveYearLecturerPlan $fiveYearLecturerPlan): static
    {
        if (!$this->fiveYearLecturerPlans->contains($fiveYearLecturerPlan)) {
            $this->fiveYearLecturerPlans->add($fiveYearLecturerPlan);
            $fiveYearLecturerPlan->setActivitiesGroupLecturerPositionActivity($this);
        }

        return $this;
    }

    public function removeFiveYearLecturerPlan(FiveYearLecturerPlan $fiveYearLecturerPlan): static
    {
        if ($this->fiveYearLecturerPlans->removeElement($fiveYearLecturerPlan)) {
            // set the owning side to null (unless already changed)
            if ($fiveYearLecturerPlan->getActivitiesGroupLecturerPositionActivity() === $this) {
                $fiveYearLecturerPlan->setActivitiesGroupLecturerPositionActivity(null);
            }
        }

        return $this;
    }

}