我写了一些复杂的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();
}
答案 0 :(得分:0)
如果您的$ results变量是array,但无法像上面那样工作, 如下所示,
$qb->add('where', $qb->expr()->in('id', $results));