/** * Ctor. * * @param Serializer $serializer * @param array $requestParams * @param DataTableViewInterface $datatableView * @param array $disabledCoreSearch */ public function __construct(Serializer $serializer, array $requestParams, DataTableViewInterface $datatableView, $disabledCoreSearch) { $this->serializer = $serializer; $this->requestParams = $requestParams; $this->datatableView = $datatableView; $this->individualFiltering = $this->datatableView->getOptions()->getIndividualFiltering(); $this->entity = $this->datatableView->getEntity(); $this->em = $this->datatableView->getEntityManager(); $metadata = $this->getMetadata($this->entity); $this->tableName = $this->getTableName($metadata); $this->rootEntityIdentifier = $this->getIdentifier($metadata); $this->qb = $this->em->createQueryBuilder(); $this->selectColumns = array(); $this->virtualColumns = $datatableView->getColumnBuilder()->getVirtualColumns(); $this->joins = array(); $this->searchColumns = array(); $this->orderColumns = array(); $this->callbacks = array(); $this->columns = $datatableView->getColumnBuilder()->getColumns(); $this->setLineFormatter(); $this->setupColumnArrays(); $this->disabledCoreSearch = $disabledCoreSearch; }