public static function findAll($where = null)
 {
     $classname = get_called_class();
     $temp = new $classname();
     $models = [];
     $result = Database::main()->selectAll($temp->table(), null, $where);
     foreach ($result as $r) {
         $condition = $where;
         if (isset($condition)) {
             if (strpos($condition, 'id') !== true) {
                 // dont contains id
                 $condition .= " && id = '{$r['id']}'";
             }
         } else {
             $condition = "id = '{$r['id']}'";
         }
         $model = new $classname($condition);
         foreach ($r as $key => $value) {
             $model->{$key} = $value;
         }
         array_push($models, $model);
     }
     return $models;
 }
 public static function exists($table)
 {
     return Database::main()->execute("SELECT 1 FROM {$table} LIMIT 1");
 }