Symfony4 如何使用查询生成器获取对象
Symfony4 How to get objects with query builder
(嗨!),
我需要从查询生成器中获取对象,但我收集了一个数组,所以出现以下错误:
Call to a member function getPropertyName() on array
所以我想我的请求不正确,但我不知道如何解决我的问题
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: DoctrineExtensions\Query\Mysql\Year
现在效果很好,谢谢大家!
(嗨!), 我需要从查询生成器中获取对象,但我收集了一个数组,所以出现以下错误:
Call to a member function getPropertyName() on array
所以我想我的请求不正确,但我不知道如何解决我的问题
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: DoctrineExtensions\Query\Mysql\Year
现在效果很好,谢谢大家!