저자: Elliot Levin (elliotlevin@hotmail.com)
상속: extends Pinq\Queries\IQuery
 /**
  * @param Queries\IRequestQuery $query
  *
  * @return IRequestQueryCompiler
  */
 protected function getRequestQueryCompiler(Queries\IRequestQuery $query)
 {
     /** @var TableSourceInfo $source */
     $source = $query->getScope()->getSourceInfo();
     $select = new Select($this->connection, $source, new Parameters\ParameterCollection());
     return new RequestCompiler($query, $select);
 }
예제 #2
0
 /**
  * @return void
  */
 protected function compileQuery()
 {
     $this->query->getRequest()->traverse($this);
 }
예제 #3
0
 public function buildQuery()
 {
     $scope = $this->scopeProcessor->buildScope();
     $request = $this->requestQuery->getRequest();
     return $this->requestQuery->update($this->processScope($scope, $request), $this->processRequest($scope, $request));
 }
예제 #4
0
파일: Provider.php 프로젝트: timetoogo/pinq
 protected function loadRequest(Queries\IRequestQuery $query, Queries\IResolvedParameterRegistry $resolvedParameters)
 {
     $scopedTraversable = $this->evaluateScope($query->getScope(), $resolvedParameters);
     return RequestEvaluator::evaluate($scopedTraversable, $query->getRequest(), $resolvedParameters);
 }