我编写了一些复杂的API,以返回控制器中的stdclass对象的结果。该部分工作正常。
然后,在我的服务中,我写了一个查询构建器,需要将结果限制为6个月。当dump((。
当我尝试通过查询构建器中的功能提取结果时,就会出现问题。它抛出:类stdclass的对象无法转换为字符串。
我的控制器:
$getResults = $this->getAllNames()->getContent();
$pullResults = json_decode($getResults);
$results = $pullResults->data->items;
// restricted to 6 month period
$this->get('my.service')->getDateRange($results); --->this part throws error
$rows = [];
$rows[] = array(
"First Name",
"Last Name"
);
foreach ($results as $row) {
$rows[] = array(
$row->firstName,
$row->lastName
);
}
我的服务:
public function getDateRange($results)
{
return $this->getNamesRepository()
->createQueryBuilder('t')
->where('t.created >= :end')
->andWhere('t.id >= :id')
->setParameter('end', new DateTime('-6 month'))
->setParameter('id', $results)
->orderBy('t.id', 'desc')
->getQuery()
->getArrayResult();
}
如果您的$ results变量数组比上述无法正常工作,想要以下,
$qb->add('where', $qb->expr()->in('id', $results));