public function testHydrateAll() { $hydrator = new Mappa\Hydrator(); $stmt = $this->conn->prepare("SELECT * FROM books JOIN categories ON categories.id = books.category_id WHERE books.id IN (?, ?)"); $stmt->execute([1, 2]); $expected = [['books' => Book::build('1', 'B01', '1'), 'categories' => Category::build('1', 'C01'), '' => null], ['books' => Book::build('2', 'B02', '2'), 'categories' => Category::build('2', 'C02'), '' => null]]; $this->assertEquals($expected, $hydrator->hydrateAll($stmt, [Book::class, Category::class])); }
function getAll() { Category::requirePermission("VIEW"); $link = Database::getConnection(); $query = "SELECT * FROM category ORDER BY name"; $result = mysql_query($query) or die(Text::getText("QueryFailed").": ".$query); $categories = array(); while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { $c = Category::build($line); array_push($categories, $c); } Database::returnConnection($link); return $categories; }