Здравствуйте.
У меня следующая проблема:
Есть класс для работы с запросами, в нем создаются запросы на выборку с limit и offset, всё работает нормально, но если выполнить запрос на выборку указав в
orderBy = DESC
количество результатов не совпадает с ожидаемым, например указав
limit=20 и orderBy('column',DESC) вернётся примерно 7-8 результатов
Метод - который собирает запрос:
кодprivate function getQuery(string $entityStr): Query
{
$entity = $this->getEntity();
/**
* @var $manager EntityManager
*/
$manager = $this->entityManager;
$query = $manager
->createQueryBuilder()
->select('e')
->from($entityStr, 'e')
;
$this->joinTables($query);
$this->getWhereBy($query, $entity);
$this->filterQuery($query, $entity);
if ($entity->getGetLimit()) {
$query->setMaxResults($entity->getGetLimit());
}
if ($entity->getGetOffset()) {
$query->setFirstResult($entity->getGetOffset());
}
if ($sort = $entity->getGetSort()) {
$order = $entity->getGetDesc() ? 'DESC' : 'ASC';
$query->orderBy($this->getSortBy($entity), $order);
}
return $query->getQuery();
}
Метод который выполняет запрос:
кодpublic function findAllBy(string $entityStr): array
{
$query = $this->getQuery($entityStr);
$paginator = new Paginator($query, true);
$count = $paginator->count();
$result = $paginator->getQuery()->getResult();
return [
'collection' => $result,
'has_more' => \count($result) + $paginator->getQuery()->getFirstResult() < $count,
];
}
P.S. Локально ( Windows 7, php 7.1.6, doctrine/orm v2.5.12 ) всё работает как надо, на сервере нет ( NGINX, php 7.1.12, doctrine/orm v2.5.12 )
composer"require": {
"php": ">=7.1.4",
"curl/curl": "^1.8",
"sl4mmer/phpcent":"dev-master",
"symfony/symfony": "3.3.*",
"doctrine/orm": "^2.5",
"doctrine/doctrine-bundle": "^1.6",
"doctrine/doctrine-cache-bundle": "^1.2",
"symfony/swiftmailer-bundle": "^2.3",
"symfony/monolog-bundle": "^3.0.2",
"symfony/polyfill-apcu": "^1.0",
"sensio/distribution-bundle": "^5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "^2.0",
"twig/twig": "^1.0||^2.0",
"friendsofsymfony/rest-bundle": "^2.1",
"phpunit/phpunit": "*",
"friendsofsymfony/oauth-server-bundle": "^1.5",
"doctrine/doctrine-fixtures-bundle": "^2.3",
"doctrine/doctrine-migrations-bundle": "^1.0",
"javiereguiluz/easyadmin-bundle": "^1.16",
"lexik/jwt-authentication-bundle": "^2.4"
},
"require-dev": {
"sensio/generator-bundle": "^3.0"
},
Любая помощь приветствуется :)