Exemplo n.º 1
0
 public function testFetchHydratedSingle()
 {
     $finder = Finder::comment();
     $schema = new Schemas\Infered();
     $conn = new \PDO('sqlite::memory:');
     $statement = $conn->query("SELECT 1 AS id, 5 AS post_id, 'comm doido' AS text");
     $statement->setFetchMode(\PDO::FETCH_NUM);
     $entities = $schema->fetchHydrated($finder, $statement);
     $entities->rewind();
     $one = $entities->current();
     $entities->next();
     $this->assertEquals(null, $entities->current());
     $this->assertEquals(1, $one->id);
     $this->assertEquals('comm doido', $one->text);
 }
Exemplo n.º 2
0
 protected function fetchSingle(Finder $finder, PDOStatement $statement)
 {
     $name = $finder->getName();
     $row = $statement->fetch(PDO::FETCH_OBJ);
     if (!$row) {
         return false;
     }
     $entities = new SplObjectStorage();
     $entities[$row] = array('name' => $name, 'table_name' => $name, 'id' => $row->id, 'cols' => $this->extractColumns($row, $name));
     return $entities;
 }
Exemplo n.º 3
0
 public function __call($name, $children)
 {
     $finder = Finder::__callstatic($name, $children);
     $finder->setMapper($this);
     return $finder;
 }
Exemplo n.º 4
0
 public function setNext(Finder $finder)
 {
     $finder->setParent($this);
     $this->next = $finder;
 }