1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
-
- namespace Doctrine\Tests\Models\Company;
-
- /**
- * Description of CompanyPerson
- *
- * @author robo
- * @Entity
- * @Table(name="company_persons")
- * @InheritanceType("JOINED")
- * @DiscriminatorColumn(name="discr", type="string")
- * @DiscriminatorMap({
- * "person" = "CompanyPerson",
- * "manager" = "CompanyManager",
- * "employee" = "CompanyEmployee"})
- */
- class CompanyPerson
- {
- /**
- * @Id
- * @Column(type="integer")
- * @GeneratedValue
- */
- private $id;
- /**
- * @Column
- */
- private $name;
- /**
- * @OneToOne(targetEntity="CompanyPerson", mappedBy="spouse")
- * @JoinColumn(name="spouse_id", referencedColumnName="id")
- */
- private $spouse;
-
- /**
- * @ManyToMany(targetEntity="CompanyPerson")
- * @JoinTable(name="company_persons_friends",
- joinColumns={@JoinColumn(name="person_id", referencedColumnName="id")},
- inverseJoinColumns={@JoinColumn(name="friend_id", referencedColumnName="id")})
- */
- private $friends;
-
- public function __construct() {
- $this->friends = new \Doctrine\Common\Collections\ArrayCollection;
- }
-
- public function getId() {
- return $this->id;
- }
-
- public function getName() {
- return $this->name;
- }
-
- public function setName($name) {
- $this->name = $name;
- }
-
- public function getSpouse() {
- return $this->spouse;
- }
-
- public function getFriends() {
- return $this->friends;
- }
-
- public function addFriend(CompanyPerson $friend) {
- if ( ! $this->friends->contains($friend)) {
- $this->friends->add($friend);
- $friend->addFriend($this);
- }
- }
-
- public function setSpouse(CompanyPerson $spouse) {
- if ($spouse !== $this->spouse) {
- $this->spouse = $spouse;
- $this->spouse->setSpouse($this);
- }
- }
- }
-
|