Doctrine.Tests.ORM.Tools.Export.User.php 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?php
  2. use Doctrine\ORM\Mapping\ClassMetadataInfo;
  3. $metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_NONE);
  4. $metadata->setPrimaryTable(array(
  5. 'name' => 'cms_users',
  6. ));
  7. $metadata->setChangeTrackingPolicy(ClassMetadataInfo::CHANGETRACKING_DEFERRED_IMPLICIT);
  8. $metadata->addLifecycleCallback('doStuffOnPrePersist', 'prePersist');
  9. $metadata->addLifecycleCallback('doOtherStuffOnPrePersistToo', 'prePersist');
  10. $metadata->addLifecycleCallback('doStuffOnPostPersist', 'postPersist');
  11. $metadata->mapField(array(
  12. 'id' => true,
  13. 'fieldName' => 'id',
  14. 'type' => 'integer',
  15. 'columnName' => 'id',
  16. ));
  17. $metadata->mapField(array(
  18. 'fieldName' => 'name',
  19. 'type' => 'string',
  20. 'length' => 50,
  21. 'unique' => true,
  22. 'nullable' => true,
  23. 'columnName' => 'name',
  24. ));
  25. $metadata->mapField(array(
  26. 'fieldName' => 'email',
  27. 'type' => 'string',
  28. 'columnName' => 'user_email',
  29. 'columnDefinition' => 'CHAR(32) NOT NULL',
  30. ));
  31. $metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
  32. $metadata->mapManyToOne(array(
  33. 'fieldName' => 'mainGroup',
  34. 'targetEntity' => 'Doctrine\\Tests\\ORM\Tools\\Export\\Group',
  35. ));
  36. $metadata->mapOneToOne(array(
  37. 'fieldName' => 'address',
  38. 'targetEntity' => 'Doctrine\\Tests\\ORM\\Tools\\Export\\Address',
  39. 'inversedBy' => 'user',
  40. 'cascade' =>
  41. array(
  42. 0 => 'persist',
  43. ),
  44. 'mappedBy' => NULL,
  45. 'joinColumns' =>
  46. array(
  47. 0 =>
  48. array(
  49. 'name' => 'address_id',
  50. 'referencedColumnName' => 'id',
  51. 'onDelete' => 'CASCADE',
  52. 'onUpdate' => 'CASCADE'
  53. ),
  54. ),
  55. 'orphanRemoval' => true,
  56. ));
  57. $metadata->mapOneToMany(array(
  58. 'fieldName' => 'phonenumbers',
  59. 'targetEntity' => 'Doctrine\\Tests\\ORM\\Tools\\Export\\Phonenumber',
  60. 'cascade' =>
  61. array(
  62. 1 => 'persist',
  63. 2 => 'merge',
  64. ),
  65. 'mappedBy' => 'user',
  66. 'orphanRemoval' => true,
  67. 'orderBy' =>
  68. array(
  69. 'number' => 'ASC',
  70. ),
  71. ));
  72. $metadata->mapManyToMany(array(
  73. 'fieldName' => 'groups',
  74. 'targetEntity' => 'Doctrine\\Tests\\ORM\\Tools\\Export\\Group',
  75. 'cascade' =>
  76. array(
  77. 0 => 'remove',
  78. 1 => 'persist',
  79. 2 => 'refresh',
  80. 3 => 'merge',
  81. 4 => 'detach',
  82. ),
  83. 'mappedBy' => NULL,
  84. 'joinTable' =>
  85. array(
  86. 'name' => 'cms_users_groups',
  87. 'joinColumns' =>
  88. array(
  89. 0 =>
  90. array(
  91. 'name' => 'user_id',
  92. 'referencedColumnName' => 'id',
  93. 'unique' => false,
  94. 'nullable' => false,
  95. ),
  96. ),
  97. 'inverseJoinColumns' =>
  98. array(
  99. 0 =>
  100. array(
  101. 'name' => 'group_id',
  102. 'referencedColumnName' => 'id',
  103. 'columnDefinition' => 'INT NULL',
  104. ),
  105. ),
  106. ),
  107. 'orderBy' => NULL,
  108. ));