Sylius\Bundle\GridBundle\Doctrine\ORM\Driver::getDataSource PHP Method

getDataSource() public method

public getDataSource ( array $configuration, Sylius\Component\Grid\Parameters $parameters )
$configuration array
$parameters Sylius\Component\Grid\Parameters
    public function getDataSource(array $configuration, Parameters $parameters)
    {
        if (!array_key_exists('class', $configuration)) {
            throw new \InvalidArgumentException('"class" must be configured.');
        }
        $repository = $this->managerRegistry->getManagerForClass($configuration['class'])->getRepository($configuration['class']);
        if (isset($configuration['repository']['method'])) {
            $method = $configuration['repository']['method'];
            $arguments = isset($configuration['repository']['arguments']) ? array_values($configuration['repository']['arguments']) : [];
            $queryBuilder = $repository->{$method}(...$arguments);
        } else {
            $queryBuilder = $repository->createQueryBuilder('o');
        }
        return new DataSource($queryBuilder);
    }