2 namespace Company\Entity;
4 use Doctrine\ORM\Mapping as ORM;
10 * @ORM\HasLifecycleCallbacks
11 * @ORM\Table(name="company_owner")
17 * Can archive records.
19 const ARCHIVE = false;
21 * Pull Synchronization Strategy for this table.
23 const PULL_SYNCH_STRATEGY = false;
25 * Push Synchronization Strategy for this table.
27 const PUSH_SYNCH_STRATEGY = false;
32 * @ORM\Column(type="integer");
33 * @ORM\GeneratedValue(strategy="AUTO")
38 * @ORM\ManyToOne(targetEntity="Company", inversedBy="owners")
39 * @ORM\JoinColumn(name="company_id", referencedColumnName="id")
44 * @ORM\Column(type="string", length=100, name="first_name")
49 * @ORM\Column(type="string", length=100, name="family_name")
51 protected $familyName;
54 * @ORM\Column(type="string", length=13, name="id_number")
59 * @ORM\Column(type="datetime");
64 * @ORM\Column(type="datetime", nullable=true);
71 * Magic getter to expose protected properties.
72 * @param string $property
75 public function __get($property)
77 return $this->$property;
81 * Magic setter to save protected properties.
82 * @param string $property
85 public function __set($property, $value)
87 $this->$property = $value;
94 public function setCreateTime()
96 $this->created = new \DateTime("now");
102 public function setUpdateTime()
104 $this->updated = new \DateTime("now");
107 public function fromArray($data)
109 isset($data['company'])
110 && $this->company = $data['company'];
111 isset($data['firstName'])
112 && $this->firstName = $data['firstName'];
113 isset($data['familyName'])
114 && $this->familyName = $data['familyName'];
115 isset($data['idNumber'])
116 && $this->idNumber = $data['idNumber'];
119 public function toArray()
121 $dateTimeFormat = \Utility\Definitions\Locale::getDateTimeFormat();
124 $data['company'] = $this->company;
125 $data['firstName'] = $this->firstName;
126 $data['familyName'] = $this->familyName;
127 $data['idNumber'] = $this->idNumber;
128 $data['created'] = $this->created->format($dateTimeFormat);
129 $data['updated'] = !is_null($this->updated)
130 ? $this->updated->format($dateTimeFormat)