src/Entity/Scholar/Profile.php line 19
<?php
namespace App\Entity\Scholar;
use App\Entity\Geo\Region;
use App\Entity\Olympiad\Discipline;
use App\Entity\Olympiad\Olympiad;
use App\Entity\Traits\ActiveTrait;
use App\Entity\Traits\TrackerFields;
use App\Entity\Traits\UserCreatedInterface;
use App\Entity\Traits\UserUpdatedInterface;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Table(name: 'scholar_profile')]
#[ORM\Entity(repositoryClass: 'App\Repository\Scholar\ProfileRepository')]
#[ORM\HasLifecycleCallbacks]
class Profile implements UserCreatedInterface, UserUpdatedInterface
{
use TrackerFields;
use ActiveTrait;
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'AUTO')]
#[ORM\Column(type: 'integer')]
private $id;
#[ORM\OneToOne(targetEntity: 'App\Entity\User\User')]
#[ORM\JoinColumn(nullable: false)]
private $user;
/**
* @var ?string
*/
#[ORM\Column(type: 'text', nullable: true)]
private $additional_info;
#[ORM\Column(type: 'string', nullable: true)]
private $school;
#[ORM\ManyToOne(targetEntity: 'App\Entity\Olympiad\Grade')]
private $grade;
#[ORM\JoinTable(name: 'scholar_competencies_relation')]
#[ORM\ManyToMany(targetEntity: 'App\Entity\Scholar\Competence')]
private $competencies;
#[ORM\Column(type: 'text', nullable: true)]
private $address;
/**
* @var ?Region
*/
#[ORM\ManyToOne(targetEntity: 'App\Entity\Geo\Region')]
#[ORM\JoinColumn(nullable: true)]
private $region;
/**
* @var ?string
*/
#[ORM\Column(type: 'string', nullable: true)]
private $city;
/**
* @var Collection|Olympiad[]
*/
#[ORM\JoinTable(name: 'scholar_olympiad_relation')]
#[ORM\ManyToMany(targetEntity: 'App\Entity\Olympiad\Olympiad', inversedBy: 'scholar_profiles')]
private $olympiads;
/**
* @var Collection|Discipline[]
*/
#[ORM\JoinTable(name: 'scholar_discipline_relation')]
#[ORM\ManyToMany(targetEntity: 'App\Entity\Olympiad\Discipline', inversedBy: 'scholar_profile')]
private $disciplines;
/** @var Collection|Achievement[]
*
*/
#[ORM\JoinTable(name: 'scholar_achievements_relation')]
#[ORM\ManyToMany(targetEntity: 'App\Entity\Scholar\Achievement', inversedBy: 'scholar_profiles')]
private $achievements;
/**
* научные интересы
* @var ?string
*/
#[ORM\Column(type: 'text', nullable: true)]
private $scientific_interests;
public function __construct()
{
$this->competencies = new ArrayCollection();
$this->olympiads = new ArrayCollection();
$this->disciplines = new ArrayCollection();
$this->achievements = new ArrayCollection();
}
/**
* @return mixed
*/
public function getId()
{
return $this->id;
}
/**
* @param mixed $id
*/
public function setId($id): void
{
$this->id = $id;
}
/**
* @return mixed
*/
public function getUser()
{
return $this->user;
}
/**
* @param mixed $user
*/
public function setUser($user): void
{
$this->user = $user;
}
/**
* @return mixed
*/
public function getSchool()
{
return $this->school;
}
/**
* @param mixed $school
*/
public function setSchool($school): void
{
$this->school = $school;
}
/**
* @return mixed
*/
public function getGrade()
{
return $this->grade;
}
/**
* @param mixed $grade
*/
public function setGrade($grade): void
{
$this->grade = $grade;
}
/**
* @return mixed
*/
public function getCompetencies()
{
return $this->competencies;
}
/**
* @param mixed $competencies
*/
public function setCompetencies($competencies): void
{
$this->competencies = $competencies;
}
/**
* @return string
*/
public function getAddress()
{
return $this->address;
}
/**
* @param mixed $address
*/
public function setAddress($address): void
{
$this->address = $address;
}
/**
* @return Discipline[]|Collection
*/
public function getDisciplines()
{
return $this->disciplines;
}
/**
* @param Discipline[]|Collection $disciplines
*/
public function setDisciplines($disciplines): void
{
$this->disciplines = $disciplines;
}
/**
* @return Olympiad[]|Collection
*/
public function getOlympiads()
{
return $this->olympiads;
}
/**
* @param Olympiad[]|Collection $olympiads
*/
public function setOlympiads($olympiads): void
{
$this->olympiads = $olympiads;
}
/**
* @return string|null
*/
public function getAdditionalinfo(): ?string
{
return $this->additional_info;
}
/**
* @param string|null $additional_info
*/
public function setAdditionalinfo(?string $additional_info): void
{
$this->additional_info = $additional_info;
}
/**
* @return Region|null
*/
public function getRegion(): ?Region
{
return $this->region;
}
/**
* @param Region|null $region
*/
public function setRegion(?Region $region): void
{
$this->region = $region;
}
/**
* @return string|null
*/
public function getCity(): ?string
{
return $this->city;
}
/**
* @param string|null $city
*/
public function setCity(?string $city): void
{
$this->city = $city;
}
/**
* @return string|null
*/
public function getScientificInterests(): ?string
{
return $this->scientific_interests;
}
/**
* @param string|null $achievements_other
*/
public function setScientificInterests(?string $achievements_other): void
{
$this->scientific_interests = $achievements_other;
}
/**
* @return Achievement[]|Collection
*/
public function getAchievements()
{
return $this->achievements;
}
/**
* @param Achievement[]|Collection $achievements
*/
public function setAchievements($achievements): void
{
$this->achievements = $achievements;
}
}