Guest User

Untitled

a guest
Jun 24th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.27 KB | None | 0 0
  1. file:User.php
  2. <?php
  3. namespace models;
  4.  
  5. /**
  6.  * @Entity
  7.  * @InheritanceType("JOINED")
  8.  * @DiscriminatorColumn(name="discr", type="string")
  9.  * @DiscriminatorMap({"admin" = "Admin", "consumer" = "Consumer"})
  10.  */
  11.  
  12. abstract class User
  13. {
  14.     /**
  15.      * @Id
  16.      * @Column(type="integer")
  17.      *
  18.      */
  19.     protected $id;
  20.  
  21.     /**
  22.      * Column(type="string")
  23.      */
  24.     protected $name;
  25.    
  26.     /**
  27.      * Column(type="string")
  28.      */
  29.     protected $address;
  30.    
  31.     /**
  32.      * OneToMany(targetEntity="Email")
  33.      */
  34.     private $emails;
  35.    
  36.    
  37. }
  38.  ?>
  39.  
  40.  
  41. file:Admin.php
  42. <?php
  43. namespace models;
  44. use models\User;
  45. /**
  46.  * @Entity
  47.  */
  48.  
  49.  
  50. class Admin extends User
  51. {
  52.    
  53.     /**
  54.      * @Column(type="string")
  55.      */
  56.     private $admin_variable1;
  57.    
  58.     /**
  59.      * @Column(type="string")
  60.      */
  61.     private $admin_variable2;
  62.    
  63.    
  64. }
  65. ?>
  66.  
  67.  
  68. file:Consumer.php
  69.  
  70. <?php
  71. namespace models;
  72. use models\User;
  73.  
  74. /**
  75.  * @Entity
  76.  */
  77. class Consumer extends User
  78. {
  79.     /**
  80.      * @Column(type="string")
  81.      */
  82.     private $consumer_var1;
  83.    
  84.     /**
  85.      * @Column(type="string")
  86.      */
  87.     private $consumer_var2;
  88.    
  89. }
  90.  
  91. file:Email.php
  92.  
  93. <?php
  94. namespace models;
  95. /**
  96.  * @Entity
  97.  */
  98. class Email
  99. {
  100.     /**
  101.      * @Id
  102.      * @Column(type="integer")
  103.      *
  104.      */
  105.     private $id;
  106.    
  107.     /**
  108.      * @Column(type="string")
  109.      */
  110.     private $email;
  111.  
  112. }
Add Comment
Please, Sign In to add comment