2012-03-10 00:06:32 -03:00
|
|
|
<?php
|
|
|
|
|
2016-12-08 18:01:04 +01:00
|
|
|
use Doctrine\ORM\Events;
|
|
|
|
use Doctrine\Tests\Models\CMS\CmsAddress;
|
|
|
|
|
2016-12-07 23:33:41 +01:00
|
|
|
$metadata->setPrimaryTable(
|
|
|
|
[
|
2012-03-10 00:06:32 -03:00
|
|
|
'name' => 'company_person',
|
2016-12-07 23:33:41 +01:00
|
|
|
]
|
|
|
|
);
|
2012-03-10 00:06:32 -03:00
|
|
|
|
2016-12-07 23:33:41 +01:00
|
|
|
$metadata->mapField(
|
|
|
|
[
|
2012-08-09 22:05:22 -03:00
|
|
|
'id' => true,
|
|
|
|
'fieldName' => 'id',
|
|
|
|
'type' => 'integer',
|
2016-12-07 23:33:41 +01:00
|
|
|
]
|
|
|
|
);
|
2012-08-09 22:05:22 -03:00
|
|
|
|
2016-12-07 23:33:41 +01:00
|
|
|
$metadata->mapField(
|
|
|
|
[
|
2012-08-09 22:05:22 -03:00
|
|
|
'fieldName' => 'zip',
|
|
|
|
'length' => 50,
|
2016-12-07 23:33:41 +01:00
|
|
|
]
|
|
|
|
);
|
2012-08-09 22:05:22 -03:00
|
|
|
|
2016-12-07 23:33:41 +01:00
|
|
|
$metadata->mapField(
|
|
|
|
[
|
2012-08-09 22:05:22 -03:00
|
|
|
'fieldName' => 'city',
|
|
|
|
'length' => 50,
|
2016-12-07 23:33:41 +01:00
|
|
|
]
|
|
|
|
);
|
2012-08-09 22:05:22 -03:00
|
|
|
|
2016-12-07 23:33:41 +01:00
|
|
|
$metadata->mapOneToOne(
|
|
|
|
[
|
2012-08-09 22:05:22 -03:00
|
|
|
'fieldName' => 'user',
|
|
|
|
'targetEntity' => 'CmsUser',
|
2016-12-07 23:33:41 +01:00
|
|
|
'joinColumns' => [['referencedColumnName' => 'id']]
|
|
|
|
]
|
|
|
|
);
|
2012-08-09 22:05:22 -03:00
|
|
|
|
2016-12-07 23:33:41 +01:00
|
|
|
$metadata->addNamedNativeQuery(
|
|
|
|
[
|
2012-03-10 00:06:32 -03:00
|
|
|
'name' => 'find-all',
|
|
|
|
'query' => 'SELECT id, country, city FROM cms_addresses',
|
|
|
|
'resultSetMapping' => 'mapping-find-all',
|
2016-12-07 23:33:41 +01:00
|
|
|
]
|
|
|
|
);
|
2012-03-10 00:06:32 -03:00
|
|
|
|
2016-12-07 23:33:41 +01:00
|
|
|
$metadata->addNamedNativeQuery(
|
|
|
|
[
|
2012-03-10 00:06:32 -03:00
|
|
|
'name' => 'find-by-id',
|
|
|
|
'query' => 'SELECT * FROM cms_addresses WHERE id = ?',
|
2016-12-08 18:01:04 +01:00
|
|
|
'resultClass' => CmsAddress::class,
|
2016-12-07 23:33:41 +01:00
|
|
|
]
|
|
|
|
);
|
2012-03-10 00:06:32 -03:00
|
|
|
|
2016-12-07 23:33:41 +01:00
|
|
|
$metadata->addNamedNativeQuery(
|
|
|
|
[
|
2012-03-10 00:06:32 -03:00
|
|
|
'name' => 'count',
|
|
|
|
'query' => 'SELECT COUNT(*) AS count FROM cms_addresses',
|
|
|
|
'resultSetMapping' => 'mapping-count',
|
2016-12-07 23:33:41 +01:00
|
|
|
]
|
|
|
|
);
|
2012-03-10 00:06:32 -03:00
|
|
|
|
|
|
|
|
2016-12-07 23:33:41 +01:00
|
|
|
$metadata->addSqlResultSetMapping(
|
|
|
|
[
|
2012-03-10 00:06:32 -03:00
|
|
|
'name' => 'mapping-find-all',
|
2016-12-07 23:33:41 +01:00
|
|
|
'columns' => [],
|
|
|
|
'entities' => [
|
|
|
|
[
|
|
|
|
'fields' => [
|
|
|
|
[
|
2012-03-10 00:06:32 -03:00
|
|
|
'name' => 'id',
|
|
|
|
'column' => 'id',
|
2016-12-07 23:33:41 +01:00
|
|
|
],
|
|
|
|
[
|
2012-03-10 00:06:32 -03:00
|
|
|
'name' => 'city',
|
|
|
|
'column' => 'city',
|
2016-12-07 23:33:41 +01:00
|
|
|
],
|
|
|
|
[
|
2012-03-10 00:06:32 -03:00
|
|
|
'name' => 'country',
|
|
|
|
'column' => 'country',
|
2016-12-07 23:33:41 +01:00
|
|
|
],
|
|
|
|
],
|
2016-12-08 18:01:04 +01:00
|
|
|
'entityClass' => CmsAddress::class,
|
2016-12-07 23:33:41 +01:00
|
|
|
],
|
|
|
|
],
|
|
|
|
]
|
|
|
|
);
|
2012-03-10 00:06:32 -03:00
|
|
|
|
2016-12-07 23:33:41 +01:00
|
|
|
$metadata->addSqlResultSetMapping(
|
|
|
|
[
|
2012-03-10 00:06:32 -03:00
|
|
|
'name' => 'mapping-without-fields',
|
2016-12-07 23:33:41 +01:00
|
|
|
'columns' => [],
|
|
|
|
'entities' => [
|
|
|
|
[
|
2016-12-08 18:01:04 +01:00
|
|
|
'entityClass' => CmsAddress::class,
|
2016-12-07 23:33:41 +01:00
|
|
|
'fields' => []
|
|
|
|
]
|
|
|
|
]
|
|
|
|
]
|
|
|
|
);
|
|
|
|
|
|
|
|
$metadata->addSqlResultSetMapping(
|
|
|
|
[
|
2012-03-10 00:06:32 -03:00
|
|
|
'name' => 'mapping-count',
|
2016-12-07 23:33:41 +01:00
|
|
|
'columns' => [
|
|
|
|
[
|
2012-03-10 00:06:32 -03:00
|
|
|
'name' => 'count',
|
2016-12-07 23:33:41 +01:00
|
|
|
],
|
|
|
|
]
|
|
|
|
]
|
|
|
|
);
|
2012-12-05 18:47:48 -02:00
|
|
|
|
2016-12-08 18:01:04 +01:00
|
|
|
$metadata->addEntityListener(Events::postPersist, 'CmsAddressListener', 'postPersist');
|
|
|
|
$metadata->addEntityListener(Events::prePersist, 'CmsAddressListener', 'prePersist');
|
2012-12-05 18:47:48 -02:00
|
|
|
|
2016-12-08 18:01:04 +01:00
|
|
|
$metadata->addEntityListener(Events::postUpdate, 'CmsAddressListener', 'postUpdate');
|
|
|
|
$metadata->addEntityListener(Events::preUpdate, 'CmsAddressListener', 'preUpdate');
|
2012-12-05 18:47:48 -02:00
|
|
|
|
2016-12-08 18:01:04 +01:00
|
|
|
$metadata->addEntityListener(Events::postRemove, 'CmsAddressListener', 'postRemove');
|
|
|
|
$metadata->addEntityListener(Events::preRemove, 'CmsAddressListener', 'preRemove');
|
2012-12-05 18:47:48 -02:00
|
|
|
|
2016-12-08 18:01:04 +01:00
|
|
|
$metadata->addEntityListener(Events::preFlush, 'CmsAddressListener', 'preFlush');
|
|
|
|
$metadata->addEntityListener(Events::postLoad, 'CmsAddressListener', 'postLoad');
|