Completed
Pull Request — master (#5580)
by Marco
10:58
created

CmsAddress::getCountry()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 3
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace Doctrine\Tests\Models\CMS;
4
5
/**
6
 * CmsAddress
7
 *
8
 * @author Roman S. Borschel
9
 * @Entity
10
 * @Table(name="cms_addresses")
11
 *
12
 * @NamedNativeQueries({
13
 *      @NamedNativeQuery(
14
 *          name                = "find-all",
15
 *          resultSetMapping    = "mapping-find-all",
16
 *          query               = "SELECT id, country, city FROM cms_addresses"
17
 *      ),
18
 *      @NamedNativeQuery(
19
 *          name           = "find-by-id",
20
 *          resultClass    = "CmsAddress",
21
 *          query          = "SELECT * FROM cms_addresses WHERE id = ?"
22
 *      ),
23
 *      @NamedNativeQuery(
24
 *          name            = "count",
25
 *          resultSetMapping= "mapping-count",
26
 *          query           = "SELECT COUNT(*) AS count FROM cms_addresses"
27
 *      )
28
 * })
29
 *
30
 * @SqlResultSetMappings({
31
 *      @SqlResultSetMapping(
32
 *          name    = "mapping-find-all",
33
 *          entities= {
34
 *              @EntityResult(
35
 *                  entityClass = "CmsAddress",
36
 *                  fields      = {
37
 *                      @FieldResult(name = "id",       column="id"),
38
 *                      @FieldResult(name = "city",     column="city"),
39
 *                      @FieldResult(name = "country",  column="country")
40
 *                  }
41
 *              )
42
 *          }
43
 *      ),
44
 *      @SqlResultSetMapping(
45
 *          name    = "mapping-without-fields",
46
 *          entities= {
47
 *              @EntityResult(
48
 *                  entityClass = "__CLASS__"
49
 *              )
50
 *          }
51
 *      ),
52
 *      @SqlResultSetMapping(
53
 *          name    = "mapping-count",
54
 *          columns = {
55
 *              @ColumnResult(
56
 *                  name = "count"
57
 *              )
58
 *          }
59
 *      )
60
 * })
61
 *
62
 * @EntityListeners({"CmsAddressListener"})
63
 */
64
class CmsAddress
65
{
66
    /**
67
     * @Column(type="integer")
68
     * @Id @GeneratedValue
69
     */
70
    public $id;
71
72
    /**
73
     * @Column(length=50)
74
     */
75
    public $country;
76
77
    /**
78
     * @Column(length=50)
79
     */
80
    public $zip;
81
82
    /**
83
     * @Column(length=50)
84
     */
85
    public $city;
86
87
    /**
88
     * Testfield for Schema Updating Tests.
89
     */
90
    public $street;
91
92
    /**
93
     * @OneToOne(targetEntity="CmsUser", inversedBy="address")
94
     * @JoinColumn(referencedColumnName="id")
95
     */
96
    public $user;
97
98
    public function getId() {
99
        return $this->id;
100
    }
101
102
    public function getUser() {
103
        return $this->user;
104
    }
105
106
    public function getCountry() {
107
        return $this->country;
108
    }
109
110
    public function getZipCode() {
111
        return $this->zip;
112
    }
113
114
    public function getCity() {
115
        return $this->city;
116
    }
117
118
    public function setUser(CmsUser $user) {
119
        if ($this->user !== $user) {
120
            $this->user = $user;
121
            $user->setAddress($this);
122
        }
123
    }
124
125
    public static function loadMetadata(\Doctrine\ORM\Mapping\ClassMetadataInfo $metadata)
126
    {
127
        $metadata->setPrimaryTable(array(
128
           'name' => 'company_person',
129
        ));
130
131
        $metadata->mapField(array (
132
            'id'        => true,
133
            'fieldName' => 'id',
134
            'type'      => 'integer',
135
        ));
136
137
        $metadata->mapField(array (
138
            'fieldName' => 'zip',
139
            'length'    => 50,
140
        ));
141
142
        $metadata->mapField(array (
143
            'fieldName' => 'city',
144
            'length'    => 50,
145
        ));
146
147
        $metadata->mapOneToOne(array(
148
            'fieldName'     => 'user',
149
            'targetEntity'  => 'CmsUser',
150
            'joinColumns'   => array(array('referencedColumnName' => 'id'))
151
        ));
152
153
        $metadata->addNamedNativeQuery(array (
154
            'name'              => 'find-all',
155
            'query'             => 'SELECT id, country, city FROM cms_addresses',
156
            'resultSetMapping'  => 'mapping-find-all',
157
        ));
158
159
        $metadata->addNamedNativeQuery(array (
160
            'name'              => 'find-by-id',
161
            'query'             => 'SELECT * FROM cms_addresses WHERE id = ?',
162
            'resultClass'       => 'Doctrine\\Tests\\Models\\CMS\\CmsAddress',
163
        ));
164
165
        $metadata->addNamedNativeQuery(array (
166
            'name'              => 'count',
167
            'query'             => 'SELECT COUNT(*) AS count FROM cms_addresses',
168
            'resultSetMapping'  => 'mapping-count',
169
        ));
170
171
        $metadata->addSqlResultSetMapping(array (
172
            'name'      => 'mapping-find-all',
173
            'columns'   => array(),
174
            'entities'  => array ( array (
175
                'fields' => array (
176
                  array (
177
                    'name'      => 'id',
178
                    'column'    => 'id',
179
                  ),
180
                  array (
181
                    'name'      => 'city',
182
                    'column'    => 'city',
183
                  ),
184
                  array (
185
                    'name'      => 'country',
186
                    'column'    => 'country',
187
                  ),
188
                ),
189
                'entityClass' => 'Doctrine\Tests\Models\CMS\CmsAddress',
190
              ),
191
            ),
192
        ));
193
194
        $metadata->addSqlResultSetMapping(array (
195
            'name'      => 'mapping-without-fields',
196
            'columns'   => array(),
197
            'entities'  => array(array (
198
                'entityClass' => 'Doctrine\\Tests\\Models\\CMS\\CmsAddress',
199
                'fields' => array()
200
              )
201
            )
202
        ));
203
204
        $metadata->addSqlResultSetMapping(array (
205
            'name' => 'mapping-count',
206
            'columns' =>array (
207
                array (
208
                    'name' => 'count',
209
                ),
210
            )
211
        ));
212
213
        $metadata->addEntityListener(\Doctrine\ORM\Events::postPersist, 'CmsAddressListener', 'postPersist');
214
        $metadata->addEntityListener(\Doctrine\ORM\Events::prePersist, 'CmsAddressListener', 'prePersist');
215
216
        $metadata->addEntityListener(\Doctrine\ORM\Events::postUpdate, 'CmsAddressListener', 'postUpdate');
217
        $metadata->addEntityListener(\Doctrine\ORM\Events::preUpdate, 'CmsAddressListener', 'preUpdate');
218
219
        $metadata->addEntityListener(\Doctrine\ORM\Events::postRemove, 'CmsAddressListener', 'postRemove');
220
        $metadata->addEntityListener(\Doctrine\ORM\Events::preRemove, 'CmsAddressListener', 'preRemove');
221
222
        $metadata->addEntityListener(\Doctrine\ORM\Events::preFlush, 'CmsAddressListener', 'preFlush');
223
        $metadata->addEntityListener(\Doctrine\ORM\Events::postLoad, 'CmsAddressListener', 'postLoad');
224
    }
225
}