我不知道爲什麼,但在幾個(不相關的)更改後,我所有的返回都是對象而不是數組。例如:Symfony教條返回對象而不是數組
ReceiptController.php
/**
* Get all receipts for the team.
*
* @param String $id
* @return array
*
* @SWG\Response(
* response=201,
* description="Get all receipt for the team.",
* @SWG\Schema(
* type="array"
* )
*)
*/
public function getTeamReceiptsAction($id): array
{
$parameterBag = [
'teamId' => $id
];
$items = $this->manager->getAll($parameterBag);
return $items;
}
Receiptrepository
/**
* @inheritdoc
*/
public function getFilterQuery($parameterBag): QueryBuilder
{
$qb = $this
->createQueryBuilder('s')
;
if (isset($parameterBag['id'])) {
$qb->andWhere('s.id=(:id)')
->setParameter('id', $parameterBag['id']);
}
if (isset($parameterBag['teamId'])) {
$qb->andWhere('s.team=(:team)')
->setParameter('team', $parameterBag['teamId']);
}
return $qb;
}
/**
* @inheritdoc
*/
public function getAll($parameterBag): ?array
{
$qb = $this->getFilterQuery($parameterBag);
return $qb->getQuery()->getResult();
}
返回: {"0":{"email":"[email protected]","first_name"...
雖然我希望[{"email":"[email protected]","first_name"...
?
因此,它返回的對象中有多個對象而不是數組。
但這很奇怪,因爲我所有的函數都是返回數組的類型,而且我沒有得到任何錯誤?
做一個轉儲(get_class($ items))和se它是什麼樣的對象。可能是一個實現各種數組接口的對象,這些接口又將通過數組類型測試。 – Cerad
如果我這樣做,我會得到以下內部錯誤:'{「code」:500,「message」:「警告:get_class()期望參數1是對象,數組給定」}'。 有趣。 – user3634184