Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / Models / Quote / User.php
1 <?php
2
3 namespace Doctrine\Tests\Models\Quote;
4
5 use Doctrine\Common\Collections\ArrayCollection;
6
7 /**
8  * @Entity
9  * @Table(name="`quote-user`")
10  */
11 class User
12 {
13     /**
14      * @Id
15      * @GeneratedValue
16      * @Column(type="integer", name="`user-id`")
17      */
18     public $id;
19
20     /**
21      * @Column(type="string", name="`user-name`")
22      */
23     public $name;
24
25     /**
26      * @OneToMany(targetEntity="Phone", mappedBy="user", cascade={"persist"})
27      */
28     public $phones;
29
30     /**
31      * @JoinColumn(name="`address-id`", referencedColumnName="`address-id`")
32      * @OneToOne(targetEntity="Address", mappedBy="user", cascade={"persist"}, fetch="EAGER")
33      */
34     public $address;
35
36     /**
37      * @ManyToMany(targetEntity="Group", inversedBy="users", cascade={"all"})
38      * @JoinTable(name="`quote-users-groups`",
39      *      joinColumns={
40      *          @JoinColumn(
41      *              name="`user-id`",
42      *              referencedColumnName="`user-id`"
43      *          )
44      *      },
45      *      inverseJoinColumns={
46      *          @JoinColumn(
47      *              name="`group-id`",
48      *              referencedColumnName="`group-id`"
49      *          )
50      *      }
51      * )
52      */
53     public $groups;
54
55     /**
56      * @ManyToMany(targetEntity="Group", inversedBy="users", cascade={"all"}, fetch="EXTRA_LAZY")
57      * @JoinTable(name="`quote-extra-lazy-users-groups`",
58      *      joinColumns={
59      *          @JoinColumn(
60      *              name="`user-id`",
61      *              referencedColumnName="`user-id`"
62      *          )
63      *      },
64      *      inverseJoinColumns={
65      *          @JoinColumn(
66      *              name="`group-id`",
67      *              referencedColumnName="`group-id`"
68      *          )
69      *      }
70      * )
71      */
72     public $extraLazyGroups;
73
74     public function __construct()
75     {
76         $this->phones = new ArrayCollection;
77         $this->groups = new ArrayCollection;
78     }
79
80
81     public function getPhones()
82     {
83         return $this->phones;
84     }
85
86     public function getAddress()
87     {
88         return $this->address;
89     }
90
91     public function getGroups()
92     {
93         return $this->groups;
94     }
95
96     public function setAddress(Address $address) {
97         if ($this->address !== $address) {
98             $this->address = $address;
99             $address->setUser($this);
100         }
101     }
102 }