Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Mapping / php / Doctrine.Tests.Models.CMS.CmsUser.php
1 <?php
2
3 use Doctrine\ORM\Mapping\ClassMetadataInfo;
4
5 $metadata->setPrimaryTable(array(
6    'name' => 'cms_users',
7 ));
8
9 $metadata->addNamedNativeQuery(array (
10     'name'              => 'fetchIdAndUsernameWithResultClass',
11     'query'             => 'SELECT id, username FROM cms_users WHERE username = ?',
12     'resultClass'       => 'Doctrine\\Tests\\Models\\CMS\\CmsUser',
13 ));
14
15 $metadata->addNamedNativeQuery(array (
16     'name'              => 'fetchAllColumns',
17     'query'             => 'SELECT * FROM cms_users WHERE username = ?',
18     'resultClass'       => 'Doctrine\\Tests\\Models\\CMS\\CmsUser',
19 ));
20
21 $metadata->addNamedNativeQuery(array (
22     'name'              => 'fetchJoinedAddress',
23     'query'             => 'SELECT u.id, u.name, u.status, a.id AS a_id, a.country, a.zip, a.city FROM cms_users u INNER JOIN cms_addresses a ON u.id = a.user_id WHERE u.username = ?',
24     'resultSetMapping'  => 'mappingJoinedAddress',
25 ));
26
27 $metadata->addNamedNativeQuery(array (
28     'name'              => 'fetchJoinedPhonenumber',
29     'query'             => 'SELECT id, name, status, phonenumber AS number FROM cms_users INNER JOIN cms_phonenumbers ON id = user_id WHERE username = ?',
30     'resultSetMapping'  => 'mappingJoinedPhonenumber',
31 ));
32
33 $metadata->addNamedNativeQuery(array (
34     'name'              => 'fetchUserPhonenumberCount',
35     'query'             => 'SELECT id, name, status, COUNT(phonenumber) AS numphones FROM cms_users INNER JOIN cms_phonenumbers ON id = user_id WHERE username IN (?) GROUP BY id, name, status, username ORDER BY username',
36     'resultSetMapping'  => 'mappingUserPhonenumberCount',
37 ));
38
39 $metadata->addNamedNativeQuery(array (
40     "name"              => "fetchMultipleJoinsEntityResults",
41     "resultSetMapping"  => "mappingMultipleJoinsEntityResults",
42     "query"             => "SELECT u.id AS u_id, u.name AS u_name, u.status AS u_status, a.id AS a_id, a.zip AS a_zip, a.country AS a_country, COUNT(p.phonenumber) AS numphones FROM cms_users u INNER JOIN cms_addresses a ON u.id = a.user_id INNER JOIN cms_phonenumbers p ON u.id = p.user_id GROUP BY u.id, u.name, u.status, u.username, a.id, a.zip, a.country ORDER BY u.username"
43 ));
44
45 $metadata->addSqlResultSetMapping(array (
46     'name'      => 'mappingJoinedAddress',
47     'columns'   => array(),
48     'entities'  => array(array (
49         'fields'=> array (
50           array (
51             'name'      => 'id',
52             'column'    => 'id',
53           ),
54           array (
55             'name'      => 'name',
56             'column'    => 'name',
57           ),
58           array (
59             'name'      => 'status',
60             'column'    => 'status',
61           ),
62           array (
63             'name'      => 'address.zip',
64             'column'    => 'zip',
65           ),
66           array (
67             'name'      => 'address.city',
68             'column'    => 'city',
69           ),
70           array (
71             'name'      => 'address.country',
72             'column'    => 'country',
73           ),
74           array (
75             'name'      => 'address.id',
76             'column'    => 'a_id',
77           ),
78         ),
79         'entityClass'           => 'Doctrine\Tests\Models\CMS\CmsUser',
80         'discriminatorColumn'   => null
81       ),
82     ),
83 ));
84
85 $metadata->addSqlResultSetMapping(array (
86     'name'      => 'mappingJoinedPhonenumber',
87     'columns'   => array(),
88     'entities'  => array(array(
89         'fields'=> array (
90           array (
91             'name'      => 'id',
92             'column'    => 'id',
93           ),
94           array (
95             'name'      => 'name',
96             'column'    => 'name',
97           ),
98           array (
99             'name'      => 'status',
100             'column'    => 'status',
101           ),
102           array (
103             'name'      => 'phonenumbers.phonenumber',
104             'column'    => 'number',
105           ),
106         ),
107         'entityClass'   => 'Doctrine\\Tests\\Models\\CMS\\CmsUser',
108         'discriminatorColumn'   => null
109       ),
110     ),
111 ));
112
113 $metadata->addSqlResultSetMapping(array (
114     'name'      => 'mappingUserPhonenumberCount',
115     'columns'   => array(),
116     'entities'  => array (
117       array(
118         'fields' => array (
119           array (
120             'name'      => 'id',
121             'column'    => 'id',
122           ),
123           array (
124             'name'      => 'name',
125             'column'    => 'name',
126           ),
127           array (
128             'name'      => 'status',
129             'column'    => 'status',
130           )
131         ),
132         'entityClass'   => 'Doctrine\Tests\Models\CMS\CmsUser',
133         'discriminatorColumn'   => null
134       )
135     ),
136     'columns' => array (
137           array (
138             'name' => 'numphones',
139           )
140     )
141 ));
142
143 $metadata->addSqlResultSetMapping(array(
144     'name'      => 'mappingMultipleJoinsEntityResults',
145     'entities'  => array(array(
146             'fields' => array(
147                 array(
148                     'name'      => 'id',
149                     'column'    => 'u_id',
150                 ),
151                 array(
152                     'name'      => 'name',
153                     'column'    => 'u_name',
154                 ),
155                 array(
156                     'name'      => 'status',
157                     'column'    => 'u_status',
158                 )
159             ),
160             'entityClass'           => 'Doctrine\Tests\Models\CMS\CmsUser',
161             'discriminatorColumn'   => null,
162         ),
163         array(
164             'fields' => array(
165                 array(
166                     'name'      => 'id',
167                     'column'    => 'a_id',
168                 ),
169                 array(
170                     'name'      => 'zip',
171                     'column'    => 'a_zip',
172                 ),
173                 array(
174                     'name'      => 'country',
175                     'column'    => 'a_country',
176                 ),
177             ),
178             'entityClass'           => 'Doctrine\Tests\Models\CMS\CmsAddress',
179             'discriminatorColumn'   => null,
180         ),
181     ),
182     'columns' => array(array(
183             'name' => 'numphones',
184         )
185     )
186 ));