Esempio n. 1
0
 /** Get all attributes from model name
  * @param string $model
  */
 public static function get_from_model($model)
 {
     $model::check_model();
     $result = array();
     $attrs = $model::get_attr_def();
     $relations = \Helper\Database\Relation::get_from_model($model);
     $id_col = $model::get_id_col($model);
     $result[$id_col] = self::from_def($id_col, array("type" => 'int', "is_unsigned" => true, "is_primary" => true, "is_autoincrement" => true));
     foreach ($attrs as $name => $def) {
         if (!$model::is_rel($name)) {
             $result[$name] = self::from_def($name, $def);
         }
     }
     foreach (self::$default_cols as $name => $def) {
         $result[$name] = self::from_def($name, $def);
     }
     return $result;
 }
Esempio n. 2
0
 public static function sync_model_relations($model)
 {
     $attrs = \Helper\Database\Attr::get_from_model($model);
     $relations = \Helper\Database\Relation::get_from_model($model);
     if (any($relations)) {
         foreach ($relations as $rel) {
             if ($rel->type == \System\Model\Database::REL_HAS_MANY && $rel->is_bilinear) {
                 self::sync_bilinear_relation_table($rel);
             }
         }
     }
 }