Beispiel #1
0
 public function testZombieCull()
 {
     $a1 = $this->entityManager->getRepository('A1')->make();
     $a4 = $this->entityManager->getRepository('A4')->make(['type' => 'one']);
     $link = $this->entityManager->getRepository('A1linkA4')->make();
     $link['a1_id'] = $a1;
     $link['a4_id'] = $a4;
     $db = $this->entityManager->recordManager->db;
     //        $db->debug->start();
     $linkTask = new Persist($this->entityManager->recordManager);
     $linkTask->setObject($link);
     $this->assertFalse($link->isZombie());
     $this->assertTrue($linkTask->execute($db));
     $this->assertSame($db->query(new Query('SELECT count(*) FROM "a1_link_a4";'))->fetch(Result::FETCH_SINGLE), "1");
     // zombie link
     $link['a1_id'] = null;
     $this->assertTrue($link->isZombie());
     $this->assertTrue($linkTask->execute($this->entityManager->recordManager->db));
     $this->assertSame($db->query(new Query('SELECT count(*) FROM "a1_link_a4";'))->fetch(Result::FETCH_SINGLE), "0");
 }
Beispiel #2
0
 public function build_newa1linka4Triplet()
 {
     $a1 = $this->entityManager->getRepository('A1')->make();
     $a4 = $this->entityManager->getRepository('A4')->make(array('type' => 'one'));
     $a1linka4 = $this->entityManager->getRepository('A1linkA4')->make(array('a1_id' => $a1, 'a4_id' => $a4));
     $t1 = new Persist($this->entityManager->recordManager);
     $t1->setObject($a1linka4);
     try {
         $t1->execute($this->db);
     } catch (\Exception $e) {
         print_r($e->sql);
         print_r($e->error);
         //            die();
     }
     return array($a1, $a4, $a1linka4);
 }