2 namespace Doctrine\Tests\Models\Company;
7 * @NamedNativeQueries({
10 * resultClass = "__CLASS__",
11 * query = "SELECT id, hoursWorked, discr FROM company_contracts"
15 * resultClass = "CompanyFlexContract",
16 * query = "SELECT id, hoursWorked, discr FROM company_contracts"
20 * @SqlResultSetMappings({
21 * @SqlResultSetMapping(
22 * name = "mapping-all-flex",
25 * entityClass = "__CLASS__",
26 * discriminatorColumn = "discr",
29 * @FieldResult("hoursWorked"),
34 * @SqlResultSetMapping(
35 * name = "mapping-all",
38 * entityClass = "CompanyFlexContract",
39 * discriminatorColumn = "discr",
42 * @FieldResult("hoursWorked"),
49 class CompanyFlexContract extends CompanyContract
52 * @column(type="integer")
55 private $hoursWorked = 0;
58 * @column(type="integer")
61 private $pricePerHour = 0;
64 * @ManyToMany(targetEntity="CompanyManager", inversedBy="managedContracts", fetch="EXTRA_LAZY")
65 * @JoinTable(name="company_contract_managers",
66 * joinColumns={@JoinColumn(name="contract_id", referencedColumnName="id", onDelete="CASCADE")},
67 * inverseJoinColumns={@JoinColumn(name="employee_id", referencedColumnName="id")}
72 public function calculatePrice()
74 return $this->hoursWorked * $this->pricePerHour;
77 public function getHoursWorked()
79 return $this->hoursWorked;
82 public function setHoursWorked($hoursWorked)
84 $this->hoursWorked = $hoursWorked;
87 public function getPricePerHour()
89 return $this->pricePerHour;
92 public function setPricePerHour($pricePerHour)
94 $this->pricePerHour = $pricePerHour;
96 public function getManagers()
98 return $this->managers;
101 public function addManager(CompanyManager $manager)
103 $this->managers[] = $manager;
106 public function removeManager(CompanyManager $manager)
108 $this->managers->removeElement($manager);