Removes the limit and offset from the query.
public RemoveLimitAndOffset ( ) : StatementBuilder | ||
리턴 | StatementBuilder | a reference to this object |
// Get proposals by statement. $page = $proposalService->getProposalsByStatement($statementBuilder->ToStatement()); // Display results. if (isset($page->results)) { $totalResultSetSize = $page->totalResultSetSize; $i = $page->startIndex; foreach ($page->results as $proposal) { printf("%d) Proposal with ID %d and name '%s' will be submitted for " . "approval.\n", $i++, $proposal->id, $proposal->name); } } $statementBuilder->IncreaseOffsetBy(StatementBuilder::SUGGESTED_PAGE_LIMIT); } while ($statementBuilder->GetOffset() < $totalResultSetSize); printf("Number of proposals to be submitted: %d\n", $totalResultSetSize); if ($totalResultSetSize > 0) { // Remove limit and offset from statement. $statementBuilder->RemoveLimitAndOffset(); // Create action. $action = new SubmitProposalsForApproval(); // Perform action. $result = $proposalService->performProposalAction($action, $statementBuilder->ToStatement()); // Display results. if (isset($result) && $result->numChanges > 0) { printf("Number of proposals submitted: %d\n", $result->numChanges); } else { printf("No proposals were submitted.\n"); } } } catch (OAuth2Exception $e) { ExampleUtils::CheckForOAuth2Errors($e); } catch (ValidationException $e) { ExampleUtils::CheckForOAuth2Errors($e);
/** * @covers StatementBuilder::ToStatement * @covers StatementBuilder::RemoveLimitAndOffset */ public function testToStatementRemoveLimitAndOffset() { $expectedQueryBefore = 'WHERE a = b ORDER BY a LIMIT 500 OFFSET 0'; $expectedQueryAfter = 'WHERE a = b ORDER BY a'; $statementBuilder = new StatementBuilder(); $statementBuilder->Limit(500)->Offset(0)->Where('a = b')->OrderBy('a'); $this->assertEquals($expectedQueryBefore, $statementBuilder->ToStatement()->query); $statementBuilder->RemoveLimitAndOffset(); $this->assertEquals($expectedQueryAfter, $statementBuilder->ToStatement()->query); }