Advertisement
Guest User

Untitled

a guest
Feb 1st, 2013
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.18 KB | None | 0 0
  1. <?php
  2. use Orm\Model;
  3.  
  4. class Model_Domain extends \Orm\Model
  5. {
  6.    
  7.     protected static $_properties = array(
  8.         'id',
  9.         'domain',
  10.         'created_at',
  11.         'updated_at',
  12.     );
  13.    
  14.     protected static $_many_many = array(
  15.         'users' => array(
  16.             'key_from' => 'id',
  17.             'key_through_from' => 'domain_id',
  18.             'table_through' => 'domains_users',
  19.             'key_through_to' => 'user_id',
  20.             'model_to' => 'Model_User',
  21.             'key_to' => 'id',
  22.             'cascade_save' => true,
  23.             'cascade_delete' => false,
  24.         )
  25.     );
  26.    
  27.     protected static $_has_many = array(
  28.         'forwards' => array(
  29.             'key_from'            => 'id',
  30.             'model_to'            => 'Model_Forward',
  31.             'key_to'            => 'domain_id',
  32.             'cascade_save'        => true,
  33.             'cascade_delete'    => false
  34.         )  
  35.     );
  36.    
  37.     protected static $_observers = array(
  38.         'Orm\Observer_CreatedAt' => array(
  39.             'events' => array('before_insert'),
  40.             'mysql_timestamp' => false,
  41.         ),
  42.         'Orm\Observer_UpdatedAt' => array(
  43.             'events' => array('before_save'),
  44.             'mysql_timestamp' => false,
  45.         ),
  46.     );
  47.  
  48.     public static function validate($factory)
  49.     {
  50.         $val = Validation::forge($factory);
  51.         $val->add_field('domain', 'Domain', 'required|max_length[255]');
  52.  
  53.         return $val;
  54.     }
  55.  
  56. }
  57.  
  58. <?php
  59. use Orm\Model;
  60.  
  61. class Model_User extends \Orm\Model
  62. {
  63.     //protected static $_many_many = array('domains');
  64.    
  65.     protected static $_many_many = array(
  66.         'domains' => array(
  67.             'key_from' => 'id',
  68.             'key_through_from' => 'domain_id',
  69.             'table_through' => 'domains_users',
  70.             'key_through_to' => 'user_id',
  71.             'model_to' => 'Model_Domain',
  72.             'key_to' => 'id',
  73.             'cascade_save' => true,
  74.             'cascade_delete' => false,
  75.         )
  76.     );
  77.    
  78.     protected static $_properties = array(
  79.         'id',
  80.         'username',
  81.         'password',
  82.         'group',
  83.         'email',
  84.         'last_login',
  85.         'login_hash',
  86.         'created_at',
  87.         'updated_at',
  88.     );
  89.  
  90.     protected static $_observers = array(
  91.         'Orm\Observer_CreatedAt' => array(
  92.             'events' => array('before_insert'),
  93.             'mysql_timestamp' => false,
  94.         ),
  95.         'Orm\Observer_UpdatedAt' => array(
  96.             'events' => array('before_save'),
  97.             'mysql_timestamp' => false,
  98.         ),
  99.     );
  100.  
  101.     public static function validate($factory)
  102.     {
  103.         $val = Validation::forge($factory);
  104.         $val->add_field('username', 'Username', 'required|max_length[50]');
  105.         $val->add_field('password', 'Password', 'required|max_length[255]');
  106.         $val->add_field('group', 'Group', 'required|valid_string[numeric]');
  107.         $val->add_field('email', 'Email', 'required|valid_email|max_length[255]');
  108.         $val->add_field('last_login', 'Last Login', 'required|max_length[25]');
  109.         $val->add_field('login_hash', 'Login Hash', 'required|max_length[255]');
  110.  
  111.         return $val;
  112.     }
  113.  
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement