コード例 #1
0
 /**
  * @param Request $request
  * @param int $itemsPage
  * @return mixed
  */
 public function findAllPaginate(Request $request, $itemsPage = 30)
 {
     $key = sprintf('variation_paginate_%s_%s', $itemsPage, $request->getRequestUri());
     $queryParser = ParserRequestFactory::createParser($request, $this->getModel(), $query);
     $queryBuilder = $queryParser->parser();
     return $this->cacheQueryBuilder($key, $queryBuilder, 'paginate', $itemsPage);
 }
コード例 #2
0
 private function manageRequest($requestProvider)
 {
     $request = new Request();
     foreach ($requestProvider as $key => $value) {
         $request->merge([$key => $value]);
     }
     $arrayFields = $this->getFields();
     $QueryParser = ParserRequestFactory::createParser($request, $this->model);
     $reflection = new \ReflectionClass($QueryParser);
     $reflectionProperty = $reflection->getProperty('columnNames');
     $reflectionProperty->setAccessible(true);
     $reflectionProperty->setValue($QueryParser, $arrayFields);
     $queryBuilder = $QueryParser->parser();
     return $queryBuilder->toSql();
 }
コード例 #3
0
 /**
  * @param Request $request
  * @param int $itemsPage
  * @return mixed
  */
 public function findAllActivesPaginate(Request $request, $itemsPage = 30)
 {
     $key = sprintf('product_paginate_%s_%s', $itemsPage, $request->getRequestUri());
     $fields = ["{$this->tableProduct}.*"];
     $query = $this->baseQuery();
     $query->select($fields);
     $query->where("{$this->tableProduct}.status", 1);
     $query->groupBy("{$this->tableProduct}.id");
     $queryParser = ParserRequestFactory::createParser($request, $this->getModel(), $query);
     $queryParser->addTables(['product_sku', 'category']);
     $queryBuilder = $queryParser->parser();
     return $this->cacheQueryBuilder($key, $queryBuilder, 'paginate', $itemsPage);
 }