File: Doctrine.Tests.Models.CMS.CmsAddress.php

package info (click to toggle)
doctrine 2.14.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 10,612 kB
  • sloc: php: 113,660; xml: 4,630; makefile: 28; sh: 14
file content (125 lines) | stat: -rw-r--r-- 3,129 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?php

declare(strict_types=1);

use Doctrine\ORM\Events;
use Doctrine\Tests\Models\CMS\CmsAddress;

$metadata->setPrimaryTable(
    ['name' => 'company_person']
);

$metadata->mapField(
    [
        'id'        => true,
        'fieldName' => 'id',
        'type'      => 'integer',
    ]
);

$metadata->mapField(
    [
        'fieldName' => 'zip',
        'length'    => 50,
    ]
);

$metadata->mapField(
    [
        'fieldName' => 'city',
        'length'    => 50,
    ]
);

$metadata->mapOneToOne(
    [
        'fieldName'     => 'user',
        'targetEntity'  => 'CmsUser',
        'joinColumns'   => [['referencedColumnName' => 'id']],
    ]
);

$metadata->addNamedNativeQuery(
    [
        'name'              => 'find-all',
        'query'             => 'SELECT id, country, city FROM cms_addresses',
        'resultSetMapping'  => 'mapping-find-all',
    ]
);

$metadata->addNamedNativeQuery(
    [
        'name'              => 'find-by-id',
        'query'             => 'SELECT * FROM cms_addresses WHERE id = ?',
        'resultClass'       => CmsAddress::class,
    ]
);

$metadata->addNamedNativeQuery(
    [
        'name'              => 'count',
        'query'             => 'SELECT COUNT(*) AS count FROM cms_addresses',
        'resultSetMapping'  => 'mapping-count',
    ]
);


$metadata->addSqlResultSetMapping(
    [
        'name'      => 'mapping-find-all',
        'columns'   => [],
        'entities'  => [
            [
                'fields' => [
                    [
                        'name'      => 'id',
                        'column'    => 'id',
                    ],
                    [
                        'name'      => 'city',
                        'column'    => 'city',
                    ],
                    [
                        'name'      => 'country',
                        'column'    => 'country',
                    ],
                ],
                'entityClass' => CmsAddress::class,
            ],
        ],
    ]
);

$metadata->addSqlResultSetMapping(
    [
        'name'      => 'mapping-without-fields',
        'columns'   => [],
        'entities'  => [
            [
                'entityClass' => CmsAddress::class,
                'fields' => [],
            ],
        ],
    ]
);

$metadata->addSqlResultSetMapping(
    [
        'name' => 'mapping-count',
        'columns' => [
            ['name' => 'count'],
        ],
    ]
);

$metadata->addEntityListener(Events::postPersist, 'CmsAddressListener', 'postPersist');
$metadata->addEntityListener(Events::prePersist, 'CmsAddressListener', 'prePersist');

$metadata->addEntityListener(Events::postUpdate, 'CmsAddressListener', 'postUpdate');
$metadata->addEntityListener(Events::preUpdate, 'CmsAddressListener', 'preUpdate');

$metadata->addEntityListener(Events::postRemove, 'CmsAddressListener', 'postRemove');
$metadata->addEntityListener(Events::preRemove, 'CmsAddressListener', 'preRemove');

$metadata->addEntityListener(Events::preFlush, 'CmsAddressListener', 'preFlush');
$metadata->addEntityListener(Events::postLoad, 'CmsAddressListener', 'postLoad');