-6

这是我的控制器,我在其中创建 json 数据并将其传递给 twig 文件:

/**
 *this route is  for inserting data into datatable of modal of bootstrap
 * @Route("/pagerduty/edit_team_datatable")

 * @return Response
 */
public function edit_teble(Request $request){
    $edit = new team_details();
    $row_id = $request->query->get('row_id');
    $query= ("SELECT tr.id, GROUP_CONCAT(u.usrName SEPARATOR ',') AS team_members  FROM team_details td
                INNER JOIN team_registration tr ON tr.id=td.team_name
                INNER JOIN user u ON u.usrid=td.team_members_names
                WHERE td.team_name=$row_id
                GROUP BY td.team_name");
    $em = $this->getDoctrine()->getManager();
    $statement = $em->getConnection()->prepare($query);
    $statement->execute();
    $result = $statement->fetch();
    // print_r($result);die;

    //return $this->render("team_display.html.twig",array('edit_table'=>$result));
    return new JsonResponse($result);
}

我以这种方式接收 json 响应,其中 id 仅为“1”,team_members 为“8”。所以现在,我想为 8 个团队成员创建 8 个 id。

这是json数据:

{"id":"21","team_members":"teja,preetham,kick,preetham,teja,meuser,kick,preetham"}

我需要的是使用循环的这种格式:

{"id":"21,21,21,21,21,21,21,21","team_members":"teja,preetham,kick,preetham,teja,meuser,kick,preetham"}
4

1 回答 1

2

正如上面评论中提到的@Marc_Andre,您应该在控制器而不是模板中操作数据。

根据查询结果的格式,您可以在控制器中执行以下操作:

$formatted = [];
$id = $result['id'];
foreach ($result['team_members'] as $member) {
    $formatted[] = [$id => $member];
}

return new JsonResponse($formatted);
于 2018-12-10T19:46:47.597 回答