Symfony4 Как получить объекты с помощью построителя запросов - PullRequest
0 голосов
/ 19 марта 2019

(Привет!), Мне нужно получить объекты из построителя запросов, но я собираю массив, поэтому у меня появляется следующая ошибка:

Вызов функции-члена getPropertyName () для массива

Итак, я полагаю, что мой запрос неверен, но я не знаю, как решить мою проблему

public function findByYear($year): array
{
    $conn = $this->getEntityManager()->getConnection();

    $sql = 'SELECT * FROM rent_release r WHERE YEAR(`date`) = :yearRequested';
    $stmt = $conn->prepare($sql);
    $stmt->execute(['yearRequested' => $year]);

    return $stmt->fetchAll();
}

Жду вашей помощи, спасибо:)

1 Ответ

0 голосов
/ 20 марта 2019

Хорошо, поэтому, согласно комментариям, я использовал createQueryBuilder и beberlei / doctrineextensions.

вот DQL:

$qb = $this->createQueryBuilder('rr')
        ->andWhere('YEAR(rr.date) = :year')
        ->setParameter('year', $year)
        ->orderBy('rr.date', 'ASC')
        ->getQuery();

    return $qb->execute();

и в doctrine.yaml я добавил это:

dql:
      string_functions:
        YEAR: DoctrineExtensions\Query\Mysql\Year

и теперь все работает хорошо, спасибо всем!

...