This class provides a way to easily iterate through the results of a query * or query builder. Or get the total results of the query/querybuilder * or retrieve a KNP_Pagination of the query/query builder




This class provides a way to easily work with the results of a Doctrine Query or QueryBuilder object as if it is an array. You may also use the class to retrive a KNP_Pagination object for the query or retrieve the query itself off the DataContainer.


Require via composer:

require sideclick/data-container

Or add the following to the "require" section of composer.json

"sideclick/data-container": "dev-master"

And then run a composer update


Step 1 Use the class:

use Sideclick\Utils\DataContainer;

Step 2 Initiate an instance

For example in a controller:

$em = $this->getDoctrine()->getManager();
$queryBuilder =

$dataContainer = new DataContainer($queryBuilder);

Note that the DataContainer constructor can take a Doctrine QueryBuilder or Doctrine Query object as the parameter. Thereafter you may access the DataContainer object as an array. The following methods are also worth noting:

// Return the Query Builder (will return NULL if a Doctrine Query was passed in the constructor)

// Return a KnpPaginator object for the Query
$dataContainer->getPagination($page = 1, $countPerPage = 10);

And thats it!