GDS\Mapper\ProtoBufGQLParser::getLimit PHP Метод

getLimit() публичный Метод

Get the query limit
public getLimit ( ) : integer
Результат integer
    public function getLimit()
    {
        return $this->int_limit;
    }

Usage Example

Пример #1
0
 /**
  * Take a GQL RunQuery request and convert to a standard RunQuery request
  *
  * Always expected to be called in the stack ->gql()->execute()->runGqlAsBasicQuery()
  *
  * @param ProtocolMessage $obj_gql_request
  * @return null
  * @throws \GDS\Exception\GQL
  */
 private function executeGqlAsBasicQuery(ProtocolMessage $obj_gql_request)
 {
     // Set up the new request
     $obj_query_request = $this->setupRunQuery();
     $obj_query = $obj_query_request->mutableQuery();
     // Transfer any transaction data to the new request
     /** @var RunQueryRequest $obj_gql_request */
     if ($obj_gql_request->mutableReadOptions()->hasTransaction()) {
         $obj_query_request->mutableReadOptions()->setTransaction($obj_gql_request->mutableReadOptions()->getTransaction());
     }
     // Parse the GQL string
     $obj_gql_query = $obj_gql_request->getGqlQuery();
     $obj_parser = new ProtoBufGQLParser();
     $obj_parser->parse($obj_gql_query->getQueryString(), $obj_gql_query->getNameArgList());
     // Start applying to the new RunQuery request
     $obj_query->addKind()->setName($obj_parser->getKind());
     foreach ($obj_parser->getOrderBy() as $arr_order_by) {
         $obj_query->addOrder()->setDirection($arr_order_by['direction'])->mutableProperty()->setName($arr_order_by['property']);
     }
     // Limits, Offsets, Cursors
     $obj_parser->getLimit() && $obj_query->setLimit($obj_parser->getLimit());
     $obj_parser->getOffset() && $obj_query->setOffset($obj_parser->getOffset());
     $obj_parser->getStartCursor() && $obj_query->setStartCursor($obj_parser->getStartCursor());
     // @todo @ $obj_query->setEndCursor();
     // Filters
     $int_filters = count($obj_parser->getFilters());
     if (1 === $int_filters) {
         $this->configureFilterFromGql($obj_query->mutableFilter()->mutablePropertyFilter(), $obj_parser->getFilters()[0]);
     } else {
         if (1 < $int_filters) {
             $obj_composite_filter = $obj_query->mutableFilter()->mutableCompositeFilter()->setOperator(\google\appengine\datastore\v4\CompositeFilter\Operator::AND_);
             foreach ($obj_parser->getFilters() as $arr_filter) {
                 $this->configureFilterFromGql($obj_composite_filter->addFilter()->mutablePropertyFilter(), $arr_filter);
             }
         }
     }
     return $this->execute('RunQuery', $obj_query_request, new RunQueryResponse());
 }