Вызов функции-члена getQuery () со значением null symfony - PullRequest
0 голосов
/ 20 февраля 2020

Я следую этому туто по поводу экспорта CSV в комплект EasyAdmin в symfony ( ссылка ), и я застрял в этой точке:

$queryBuilder = $this->createListQueryBuilder(

        Employee::class,
        $sortDirection,
        $this->request->query->get('sortField'),
        $this->entity['list']['dql_filter']
    );
        return $this->csvExporter->getResponseFromQueryBuilder(
        $queryBuilder,
        Employee::class,
        'employees.csv'
    );

ОБНОВЛЕНИЕ: I ' перезаписываю метод createListQueryBuilder

protected function createListQueryBuilder($entityClass, $sortDirection, $sortField = null   , $dqlFilter = null){}

и в csvExporter я определяю функцию getResponseFormQueryBuilder

public function getResponseFromQueryBuilder(QueryBuilder $queryBuilder, $columns, $filename)

У меня ошибка, которая говорит, что:

Expected parameter of type '\Doctrine\ORM\QueryBuilder', 'void' provided

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

я переписывал неправильную функцию, вы должны определить ее следующим образом (перед перезаписью)

protected function createListQueryBuilder($entityClass, $sortDirection, $sortField = null, $dqlFilter = null)
/**
 * Performs a database query based on the search query provided by the user.
 * It supports pagination and field sorting.
 *
 * @param string      $entityClass
 * @param string      $searchQuery
 * @param array       $searchableFields
 * @param int         $page
 * @param int         $maxPerPage
 * @param string|null $sortField
 * @param string|null $sortDirection
 * @param string|null $dqlFilter
 *
 * @return Pagerfanta The paginated query results
 */    {
    return $this->get('easyadmin.query_builder')->createListQueryBuilder($this->entity, $sortField, $sortDirection, $dqlFilter);
}
0 голосов
/ 20 февраля 2020

вы должны убедиться, что $queryBuilder является типом QueryBuilder, я советую вам отследить переменную отладки $queryBuilder перед строкой возврата и определить причину ее отсутствия.

...