使用与findBy相同的标准构建QueryBuilder

时间:2017-04-05 22:45:33

标签: php pagination doctrine query-builder

我正在从QueryBuilder对象

创建Zend Paginator
use Doctrine\ORM\Query;
use Doctrine\ORM\Tools\Pagination\Paginator as DoctrinePaginator
use Zend\Paginator\Paginator;

[...]

protected function paginate(QueryBuilder $queryBuilder, int $itemsPerPage = 10): Paginator
{
    $adapter = new PaginatorAdapter(new DoctrinePaginator($queryBuilder->getQuery()));

    $paginator = new Paginator($adapter);
    $paginator->setItemCountPerPage(max(-1, $itemsPerPage));

    return $paginator;
}
  

public function findBy(array $ criteria,array $ orderBy = null,$ limit = null,$ offset = null)

我想以相同的方式创建findPaginatedBy方法Doctrine的findBy方法(使用条件数组)。此方法将使用paginate

无法从findBy *方法中获取QueryBuilder或Query对象,所以:

  • 有没有人知道使用条件数组创建QueryBuilder或直接查询对象的方法?通过坚持?还是SQL?

  • 如果不可能有以这种方式创建QueryBuilder或DQL的库?

0 个答案:

没有答案