public function getVersionedConnection($recordID, $userID, $definitionID, $wasPublished = 0) { // Turn this into an array and run through implode() $filter = "\"AuthorID\" = '" . $userID . "' AND \"RecordID\" = '" . $recordID . "' AND \"WorkflowDefinitionID\" = '" . $definitionID . "' AND WasPublished = '" . $wasPublished . "'"; $query = new SQLQuery(); $query->setFrom('SiteTree_versions')->setSelect('COUNT(ID)')->setWhere($filter); $query->firstRow(); $hasAuthored = $query->execute(); if ($hasAuthored) { return true; } return false; }
public function testSelectFirst() { // Test first from sequence $query = new SQLQuery(); $query->setFrom('"SQLQueryTest_DO"'); $query->setOrderBy('"Name"'); $result = $query->firstRow()->execute(); $records = array(); foreach ($result as $row) { $records[] = $row; } $this->assertCount(1, $records); $this->assertEquals('Object 1', $records[0]['Name']); // Test first from empty sequence $query = new SQLQuery(); $query->setFrom('"SQLQueryTest_DO"'); $query->setOrderBy('"Name"'); $query->setWhere(array("\"Name\" = 'Nonexistent Object'")); $result = $query->firstRow()->execute(); $records = array(); foreach ($result as $row) { $records[] = $row; } $this->assertCount(0, $records); // Test that given the last item, the 'first' in this list matches the last $query = new SQLQuery(); $query->setFrom('"SQLQueryTest_DO"'); $query->setOrderBy('"Name"'); $query->setLimit(1, 1); $result = $query->firstRow()->execute(); $records = array(); foreach ($result as $row) { $records[] = $row; } $this->assertCount(1, $records); $this->assertEquals('Object 2', $records[0]['Name']); }
public function getVersionedConnection($recordID, $userID, $wasPublished = 0) { // Turn this into an array and run through implode() $filter = "RecordID = {$recordID} AND AuthorID = {$userID} AND WasPublished = {$wasPublished}"; $query = new SQLQuery(); $query->setFrom('"SiteTree_versions"')->setSelect('COUNT("ID")')->setWhere($filter); $query->firstRow(); $hasAuthored = $query->execute(); if ($hasAuthored) { return true; } return false; }