Php Symfony3:返回完整的JsonResponse循环

Php Symfony3:返回完整的JsonResponse循环,php,symfony,search,algolia,Php,Symfony,Search,Algolia,我刚刚创建了一个项目来尝试Algolia搜索解决方案,它运行良好,但我无法返回JSON响应 这是我的密码 控制器: /** * @Route("/api/search/user/{query}", name="search_query") */ public function searchAction($query) { $entityManager = $this->getDoctrine()->getManagerForClass(User::class);

我刚刚创建了一个项目来尝试Algolia搜索解决方案,它运行良好,但我无法返回JSON响应

这是我的密码

控制器:

/**
 * @Route("/api/search/user/{query}", name="search_query")
 */
public function searchAction($query)
{
    $entityManager = $this->getDoctrine()->getManagerForClass(User::class);

    $users = $this->indexManager->search($query, User::class, $entityManager);

    if($users) {
        $result = $this->renderView('xxx/search_user.html.twig', [
            'users' => $users
        ]);

        return new JsonResponse(['success' => true, 'users' => [$result]]);
    }

    return new JsonResponse(['success' => false, 'users' => []]);
}
html:

此代码正在工作,但仅返回1个用户而不是所有用户,idem如果我在我的twig文件中执行循环,它将呈现所有用户,但效果不好:


感谢您的帮助,我的英语很抱歉。

这是因为twig在响应后在服务器上创建了视图

我建议您只需直接在控制器内创建用户数组,并删除渲染视图的一部分

例如:

foreach($users as $user) {
$result[]['name'] = $user['name'];
}
然后使用$result


我希望它能帮助你,谢谢你的帮助,我现在遇到了这个错误:“不能使用AppBundle\Entity\User as array类型的对象”编辑:刚刚用getter解决了!谢谢@Alessandro
foreach($users as $user) {
$result[]['name'] = $user['name'];
}