App.php
[Pman.Builder] / ERM.php
diff --git a/ERM.php b/ERM.php
index dc36f88..3b735a7 100644 (file)
--- a/ERM.php
+++ b/ERM.php
@@ -97,9 +97,10 @@ class Pman_Builder_ERM extends Pman
             
             // colname_{remotename}_{col}
             $kv = explode(':', $links[$c]);
-            $ar = $this->createRet($dos[$c], $c . '_' . $kv[1] . '_');
-            
-            $desc[$c]['deps'] = $ar;
+            //$ar = $this->createRet($dos[$c], $c . '_' . $kv[1] . '_');
+            $ar = $this->createRet($dos[$c], $c . '_' , $kv[1]);
+            $desc[$c]['maps_to'] = $kv[1];
+            $desc[$c]['deps'] = array_values($ar);
             
             $ret[] = $desc[$c];
             foreach($ar as $cn => $r) {
@@ -108,7 +109,7 @@ class Pman_Builder_ERM extends Pman
             
             
         }
-       // echo '<PRE>';print_R($ret);
+        // echo '<PRE>';print_R($ret);
         
         $this->jdata($ret); 
         
@@ -116,14 +117,24 @@ class Pman_Builder_ERM extends Pman
         
         
     }
-    function createRet($do, $pref='')
+    function createRet($do, $pref='', $skip = '')
     {
-        static  $cache = array();
+        static  $desc = array();
         static  $types= array();
         $tn = $do->tableName();
 
+
+
+
+
         // get a description if available..
         if (!isset($desc[$tn])) {
+            
+            
+            
+            
+            
+            
             $desc[$tn] = array();
             $dd = clone($do);
             
@@ -138,7 +149,7 @@ class Pman_Builder_ERM extends Pman
                     c.table_schema = 'public' and c.table_name = '{$tn}'
             ");
             while($dd->fetch()) {
-                $cache[$tn][$dd->name] = $dd->desc;
+                $desc[$tn][$dd->name] = $dd->desc;
             }
             
             $defs =  $dd->getDatabaseConnection()->tableInfo($tn);
@@ -154,6 +165,9 @@ class Pman_Builder_ERM extends Pman
        
         $ret = array();
         foreach($do->table() as $k=>$ty) {
+            if ($k == $skip) {
+                continue;
+            }
             $ret[$k] = array(
                 'table' => $tn,
                 'column' => $pref . $k,