File: Doctrine.Tests.Models.Company.CompanyPerson.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 (48 lines) | stat: -rw-r--r-- 1,292 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
<?php

declare(strict_types=1);

use Doctrine\Tests\Models\Company\CompanyPerson;

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

$metadata->addNamedNativeQuery(
    [
        'name'              => 'fetchAllWithResultClass',
        'query'             => 'SELECT id, name, discr FROM company_persons ORDER BY name',
        'resultClass'       => CompanyPerson::class,
    ]
);

$metadata->addNamedNativeQuery(
    [
        'name'              => 'fetchAllWithSqlResultSetMapping',
        'query'             => 'SELECT id, name, discr AS discriminator FROM company_persons ORDER BY name',
        'resultSetMapping'  => 'mappingFetchAll',
    ]
);

$metadata->addSqlResultSetMapping(
    [
        'name'      => 'mappingFetchAll',
        'columns'   => [],
        'entities'  => [
            [
                'fields' => [
                    [
                        'name'      => 'id',
                        'column'    => 'id',
                    ],
                    [
                        'name'      => 'name',
                        'column'    => 'name',
                    ],
                ],
                'entityClass' => CompanyPerson::class,
                'discriminatorColumn' => 'discriminator',
            ],
        ],
    ]
);