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"); }
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); }