Symfony 从数组中设置标签
我从chartjs开始,我已经在努力了。我想使用从查询中获取的数据设置标签: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)
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}