123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- <?php
- //use Doctrine\Common\Collections\ArrayCollection;
- /**
- * @Entity @Table(name="jobtypes")
- */
- class Jobtype extends BaseDBO
- {
- /**
- * Many Jobtypes have Many Accounts.
- * @ManyToMany(targetEntity="Account",inversedBy="jobtypes")
- * @JoinTable(name="accounts_jobtypes",)
- */
-
- private $accounts;
-
- /**
- * Many Jobtype have Many Tasktypes.
- * @ManyToMany(targetEntity="Tasktype",inversedBy="jobtypes")
- * @JoinTable(name="jobtypes_tasktypes",)
- */
- private $tasktypesrel;
-
- // public function __construct() {
- //// $this->tasktypes = new \Doctrine\Common\Collections\ArrayCollection();
- // $this->accounts = new \Doctrine\Common\Collections\ArrayCollection();
- // }
- /**
- * @Id @Column(type="integer") @GeneratedValue
- */
- private $id;
- public function __get($id)
- {
- return $this->id;
- }
- /** @Column(type="string") */
- public $name;
- /**
- * @var integer
- *
- * @Column(type="integer")
- */
- private $company;
- /**
- * @var string
- *
- * @Column(type="string")
- */
- public $tasktypes;
- public function getId(): int
- {
- return $this->id;
- }
- public function setName(string $name): self
- {
- $this->name = $name;
- return $this;
- }
- //допустим нужно создать должность и привязать ее к пользователю
- //создаем объект "Должность"
- //$jobtypes = new Jobtypes();
- //
- //Добавляем поля все какие нужно
- //$jobtypes->setName('мойщик окон');
- //
- //Получаем объект пользователя допустим по ид
- //$productRepository = $entityManager->getRepository('Accounts')->findOneBy(['id' => 27 ] );
- //
- //объект с пользователем ну жно вставить в геттер ( их нужно прописывать в класе)
- //$jobtypes->addAcoountJobtypes($productRepository);
- //
- //И все, дальше сохр.
- //$entityManager->persist($jobtypes);
- //$entityManager->flush();
- //
- //Будет добавлена новая должность и в промежуточной таблице появится запись "привязка"
- public function getCompany(): int
- {
- return $this->company;
- }
- public function setCompany(int $company): self
- {
- $this->company = $company;
- return $this;
- }
- // public function getTasktypes(): string
- // {
- // return $this->tasktypes;
- // }
- //
- // public function setTasktypes(string $tasktypes): self
- // {
- // $this->tasktypes = $tasktypes;
- //
- // return $this;
- // }
-
- public function getAccountsRel()
- {
- return $this->accounts;
- }
-
- public function getTaskTypes()
- {
- return $this->tasktypesrel;
- }
- public function addAcoountJobtypes(Account $account)
- {
- return $this->accounts[] = $account;
- }
-
- public function addTasktype(Tasktype $tasktype)
- {
- return $this->tasktypesrel[] = $tasktype;
- }
- }
|