phpspreadsheet и Doctrine Reader - PullRequest
       13

phpspreadsheet и Doctrine Reader

0 голосов
/ 25 марта 2020

Я использую PhpSpreadsheet, в проекте Symfony 4.

Цель: возможность экспортировать некоторые данные.

Я читал документацию чтобы увидеть, как использовать его для моего, довольно сложного экспорта, и я только что обнаружил, что PhpSpreadsheet имеет Doctrine Reader и Doctrine Writer .

Итак, я взглянул на 2 класса, но я не совсем понимаю, как использовать класс DoctrineReader.

У меня уже есть данные, которые необходимо экспортировать через мой UserRepository:

public function selectForExportByType($exportType)
{
    switch ($exportType) {

        case "all":
            $condition = "1";
            break;
        case "test":
            $condition = "ug.title = 'test' ";
            break;
        case "no-response":
            $condition = "eu.status = 0";
            break;
        case "present":
            $condition = "eu.status = 1";
            break;
        case "not-going":
            $condition = "eu.status = 2";
            break;
        case "unsubscribed":
            $condition = "u.unsubscribed = 1";
            break;
    }

    /** @var QueryBuilder $queryBuilder */
    $queryBuilder = $this
        ->createQueryBuilder('u')
        ->addSelect('eu', 'ug')
        ->leftJoin('u.eventUser', 'eu')
        ->leftJoin('u.userGroup', 'ug')
        ->andWhere($condition)
        ->orderBy('u.id');

    return $queryBuilder->getQuery()->getResult;
}

Второй шаг, в своем коде я создаю экземпляр читателя следующим образом:

/** @var DoctrineReader $reader */
$reader = new DoctrineReader($this->entityManager, 'App\Entity\User');

Но .. После этого? Могу ли я использовать этого читателя для использования моего предыдущего запроса?

Не уверен, что пойму ..

Если у кого-то есть опыт с этим .. Некоторые объяснения могут быть очень полезны!

Спасибо

...