Symfony4如何使用查询构建器获取对象



(hi!),我需要从查询构建器中获取对象,但是我收集一个数组,所以我有以下错误:

在数组上调用成员函数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();
}

等待您的帮助,谢谢:)

好吧,因此,根据评论,我使用了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: DoctrineExtensionsQueryMysqlYear

现在运行良好,谢谢所有!

相关内容

  • 没有找到相关文章

最新更新