NucleoAcademico.php 6.69 KB
<?php

namespace UBV\SurUbvBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * UBV\SurUbvBundle\Entity\NucleoAcademico
 *
 * @ORM\Entity(repositoryClass="UBV\SurUbvBundle\Entity\NucleoAcademicoRepository")
 * @ORM\Table(name="nucleo_academico", indexes={@ORM\Index(name="fk_nucleo_academico_centro_estudio1_idx", columns={"centro_estudio_id"})}, uniqueConstraints={@ORM\UniqueConstraint(name="id_nucleo_academico_UNIQUE", columns={"id"})})
 */
class NucleoAcademico
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     * @ORM\SequenceGenerator(sequenceName="nucleo_academico_id_seq", allocationSize=1, initialValue=1)
     */
    protected $id;

    /**
     * @ORM\Column(type="string", length=45)
     */
    protected $descripcion;

    /**
     * @ORM\OneToMany(targetEntity="Proyecto", mappedBy="nucleoAcademicoRelatedByNucleoAcademicoId")
     * @ORM\JoinColumn(name="id", referencedColumnName="nucleo_academico_id", nullable=false)
     */
    protected $proyectoRelatedByNucleoAcademicoIds;

    /**
     * @ORM\OneToMany(targetEntity="Proyecto", mappedBy="nucleoAcademicoRelatedByNucleoAcademicoId1")
     * @ORM\JoinColumn(name="id", referencedColumnName="nucleo_academico_id1", nullable=false)
     */
    protected $proyectoRelatedByNucleoAcademicoId1s;

    /**
     * @ORM\ManyToOne(targetEntity="CentroEstudio", inversedBy="nucleoAcademicos")
     * @ORM\JoinColumn(name="centro_estudio_id", referencedColumnName="id", nullable=false)
     */
    protected $centroEstudio;

    /**
     * @ORM\ManyToMany(targetEntity="LineaInvestigacion", mappedBy="nucleoAcademicos")
     */
    protected $lineaInvestigacions;

    public function __construct()
    {
        $this->proyectoRelatedByNucleoAcademicoIds = new ArrayCollection();
        $this->proyectoRelatedByNucleoAcademicoId1s = new ArrayCollection();
        $this->lineaInvestigacions = new ArrayCollection();
    }

    /**
     * Set the value of id.
     *
     * @param integer $id
     * @return \UBV\SurUbvBundle\Entity\NucleoAcademico
     */
    public function setId($id)
    {
        $this->id = $id;

        return $this;
    }

    /**
     * Get the value of id.
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set the value of descripcion.
     *
     * @param string $descripcion
     * @return \UBV\SurUbvBundle\Entity\NucleoAcademico
     */
    public function setDescripcion($descripcion)
    {
        $this->descripcion = $descripcion;

        return $this;
    }

    /**
     * Get the value of descripcion.
     *
     * @return string
     */
    public function getDescripcion()
    {
        return $this->descripcion;
    }

    /**
     * Add Proyecto entity related by `nucleo_academico_id` to collection (one to many).
     *
     * @param \UBV\SurUbvBundle\Entity\Proyecto $proyecto
     * @return \UBV\SurUbvBundle\Entity\NucleoAcademico
     */
    public function addProyectoRelatedByNucleoAcademicoId(Proyecto $proyecto)
    {
        $this->proyectoRelatedByNucleoAcademicoIds[] = $proyecto;

        return $this;
    }

    /**
     * Remove Proyecto entity related by `nucleo_academico_id` from collection (one to many).
     *
     * @param \UBV\SurUbvBundle\Entity\Proyecto $proyecto
     * @return \UBV\SurUbvBundle\Entity\NucleoAcademico
     */
    public function removeProyectoRelatedByNucleoAcademicoId(Proyecto $proyecto)
    {
        $this->proyectoRelatedByNucleoAcademicoIds->removeElement($proyecto);

        return $this;
    }

    /**
     * Get Proyecto entity related by `nucleo_academico_id` collection (one to many).
     *
     * @return \Doctrine\Common\Collections\Collection
     */
    public function getProyectoRelatedByNucleoAcademicoIds()
    {
        return $this->proyectoRelatedByNucleoAcademicoIds;
    }

    /**
     * Add Proyecto entity related by `nucleo_academico_id1` to collection (one to many).
     *
     * @param \UBV\SurUbvBundle\Entity\Proyecto $proyecto
     * @return \UBV\SurUbvBundle\Entity\NucleoAcademico
     */
    public function addProyectoRelatedByNucleoAcademicoId1(Proyecto $proyecto)
    {
        $this->proyectoRelatedByNucleoAcademicoId1s[] = $proyecto;

        return $this;
    }

    /**
     * Remove Proyecto entity related by `nucleo_academico_id1` from collection (one to many).
     *
     * @param \UBV\SurUbvBundle\Entity\Proyecto $proyecto
     * @return \UBV\SurUbvBundle\Entity\NucleoAcademico
     */
    public function removeProyectoRelatedByNucleoAcademicoId1(Proyecto $proyecto)
    {
        $this->proyectoRelatedByNucleoAcademicoId1s->removeElement($proyecto);

        return $this;
    }

    /**
     * Get Proyecto entity related by `nucleo_academico_id1` collection (one to many).
     *
     * @return \Doctrine\Common\Collections\Collection
     */
    public function getProyectoRelatedByNucleoAcademicoId1s()
    {
        return $this->proyectoRelatedByNucleoAcademicoId1s;
    }

    /**
     * Set CentroEstudio entity (many to one).
     *
     * @param \UBV\SurUbvBundle\Entity\CentroEstudio $centroEstudio
     * @return \UBV\SurUbvBundle\Entity\NucleoAcademico
     */
    public function setCentroEstudio(CentroEstudio $centroEstudio = null)
    {
        $this->centroEstudio = $centroEstudio;

        return $this;
    }

    /**
     * Get CentroEstudio entity (many to one).
     *
     * @return \UBV\SurUbvBundle\Entity\CentroEstudio
     */
    public function getCentroEstudio()
    {
        return $this->centroEstudio;
    }

    /**
     * Add LineaInvestigacion entity to collection.
     *
     * @param \UBV\SurUbvBundle\Entity\LineaInvestigacion $lineaInvestigacion
     * @return \UBV\SurUbvBundle\Entity\NucleoAcademico
     */
    public function addLineaInvestigacion(LineaInvestigacion $lineaInvestigacion)
    {
        $this->lineaInvestigacions[] = $lineaInvestigacion;

        return $this;
    }

    /**
     * Remove LineaInvestigacion entity from collection.
     *
     * @param \UBV\SurUbvBundle\Entity\LineaInvestigacion $lineaInvestigacion
     * @return \UBV\SurUbvBundle\Entity\NucleoAcademico
     */
    public function removeLineaInvestigacion(LineaInvestigacion $lineaInvestigacion)
    {
        $this->lineaInvestigacions->removeElement($lineaInvestigacion);

        return $this;
    }

    /**
     * Get LineaInvestigacion entity collection.
     *
     * @return \Doctrine\Common\Collections\Collection
     */
    public function getLineaInvestigacions()
    {
        return $this->lineaInvestigacions;
    }

    public function __sleep()
    {
        return array('id', 'descripcion', 'centro_estudio_id');
    }

    public function __toString() {
        return $this->descripcion;
    }
}