refactor relations
[m6w6/pq-gateway] / lib / pq / Gateway / Table / Reference.php
diff --git a/lib/pq/Gateway/Table/Reference.php b/lib/pq/Gateway/Table/Reference.php
new file mode 100644 (file)
index 0000000..6f8e29c
--- /dev/null
@@ -0,0 +1,53 @@
+<?php
+
+namespace pq\Gateway\Table;
+
+/**
+ * Foreign key
+ */
+class Reference
+{
+       /**
+        * @var string
+        */
+       public $name;
+       
+       /**
+        * @var string
+        */
+       public $foreignTable;
+       
+       /**
+        * @var string
+        */
+       public $foreignColumn;
+       
+       /**
+        * @var string
+        */
+       public $referencedTable;
+       
+       /**
+        * @var string
+        */
+       public $referencedColumn;
+       
+       /**
+        * @param array $state
+        */
+       function __construct($state) {
+               $this->name = $state["name"];
+               $this->foreignColumn = $state["foreignColumn"];
+               $this->foreignTable = $state["foreignTable"];
+               $this->referencedColumn = $state["referencedColumn"];
+               $this->referencedTable = $state["referencedTable"];
+       }
+       
+       /**
+        * @param array $state
+        * @return \pq\Gateway\Table\Reference
+        */
+       static function __set_state($state) {
+               return new static($state);
+       }
+}