Ejemplo n.º 1
0
 /** Write the relationship to the DB **/
 public function write(PDO $db = NULL)
 {
     if (is_null($db)) {
         $db = $this->_db;
     }
     $relationship = get_class($this);
     $relname = TLO::transClassTable($relationship);
     $location_class = $relationship::relationMany();
     $relation_class = $relationship::relationOne();
     $query = self::sqlWrite($relationship);
     $params = array();
     $obj = $this;
     TLO::concreteClassLoop($relationship, __CLASS__, function ($class) use($relname, &$params, $obj) {
         TLO::propertyLoop($class, __CLASS__, function ($p) use($relname, &$params, $obj) {
             $params[] = $obj->{$p};
         });
     });
     foreach ($this->getKeys() as $key => $val) {
         $params[] = $val;
     }
     $s = TLO::prepare($db, $query);
     TLO::execute($s, $params);
 }
Ejemplo n.º 2
0
 public function testConcreteClassLoop()
 {
     $classes = array();
     TLO::concreteClassLoop('Test1', 'TLO', function ($c) use(&$classes) {
         $classes[] = $c;
     });
     $this->assertEqual($classes, array('Test1'));
     $classes = array();
     TLO::concreteClassLoop('Test2', 'TLO', function ($c) use(&$classes) {
         $classes[] = $c;
     });
     $this->assertEqual($classes, array());
     $classes = array();
     TLO::concreteClassLoop('Test3', 'TLO', function ($c) use(&$classes) {
         $classes[] = $c;
     });
     $this->assertEqual($classes, array('Test3', 'Test1'));
 }