我使用GoogleChartsBundle,并且想要恢复数据库中的数据,例如,我想查看每个类别的候选候选人数,例如:
$pieChart = new PieChart();
$pieChart->getData()->setArrayToDataTable(
[['Categorie', 'Number'],
['Categorie Web', 11],
['Categorie Mobile', 2]
]
);
这是工作 但我想将其添加到动态中(更多类别),我已经在 controller 中尝试了此操作,但不起作用: 更新
$data = null;
foreach($categories as $categorie)
{
$data[] = array(
$categorie->getTitre(), count($categorie->getCandidats()),
);
}
return $this->json($data);
$pieChart = new PieChart();
$pieChart->getData()->setArrayToDataTable(
[$data]
);
PS:$ data包含[[“ Web”,1],[“ Mobile”,1]],但是在图表中我看不到数据
这是实体类别和实体候选人的示例
Entity Categorie
class Categorie
{
//...
/**
* @ORM\Column(type="string", length=255)
*/
private $titre;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Candidat", mappedBy="categorie")
*/
private $candidats;
public function __toString()
{
return $this->getTitre();
}
/**
* @return Collection|Candidat[]
*/
public function getCandidats(): Collection
{
return $this->candidats;
}
// ...获取器和设置器 }
实体候选人
级候选人 {
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Categorie", inversedBy="candidats")
*/
private $categorie;
}
答案 0 :(得分:0)
我解决了我的问题 我已经在控制器中对此进行了编辑
$data = [['Categorie','Nombre de candidats']];
foreach($categories as $categorie)
{
$data[] = array(
$categorie->getTitre(), count($categorie->getCandidats()),
);
}
$pieChart = new PieChart();
$pieChart->getData()->setArrayToDataTable(
$data
);