Symfony 从数组中设置标签

Symfony 从数组中设置标签,symfony,twig,chart.js,Symfony,Twig,Chart.js,我从chartjs开始,我已经在努力了。我想使用从查询中获取的数据设置标签: public function find4Chart($joueur){ $qb = $this->createQueryBuilder('p'); $qb->join('p.partie','y') ->join('y.game','g') ->select('g.name') ->addSelect('COUNT(p)

我从chartjs开始,我已经在努力了。我想使用从查询中获取的数据设置标签:

public function find4Chart($joueur){
    $qb = $this->createQueryBuilder('p');

    $qb->join('p.partie','y')
        ->join('y.game','g')
        ->select('g.name')
        ->addSelect('COUNT(p) AS sumParties')
        ->where('p.joueur = :joueur')
        ->setParameter('joueur', $joueur)
        ->groupBY('g.name');

    $query = $qb->getQuery();
    return $query->getResult();
}
然后我像这样设置图表:

var ctx = document.getElementById('myChart');
var myChart = new Chart(ctx, {
    type: 'doughnut',
    data: {
        labels: [{{ chart.name }}],
但是它给了我以下的错误,我不知道为什么或者怎么做:/

键为0、1的数组的键名不存在


谢谢

好吧,我就是这么想的:

public function show(Joueur $joueur): Response
{
    $em = $this->getDoctrine()->getManager();        
    $chart = $em->getRepository(Played::class)->find4Chart($joueur);
    $arrChart = array();
    foreach($chart as $c){
        $name = $c['name'];
        array_push($arrChart, $name);
    }

    return $this->render('joueur/show.html.twig', [
        'joueur' => $joueur,
        'chart' => $arrChart,
    ]);
}
图表:

var ctx = document.getElementById('myChart');
var myChart = new Chart(ctx, {
    type: 'doughnut',
    data: {
        labels: {{chart | json_encode | raw}},

我不知道这是否是正确的方法,但它是有效的,如果你们有更好的想法,我会接受它

关于您自己的答案-您可以更改此部分:

$arrChart=数组; foreach$图表为$c{ $name=$c['name']; 数组\u push$arrChart$name; } 为此:

$arrChart=array_列$chart,‘name’;
你可以阅读更多关于array_column的内容

你能告诉我们查询返回的数据结构是什么样的吗?当然,它告诉我:array2{[0]=>array2{[name]=>string5 Bob27[sumParties]=>string13}[1]=>array2{[name]=>string8将它减半[sumParties]=>string1}