Как получить данные в GoogleCharts [Symfony4] - PullRequest
0 голосов
/ 29 марта 2019

Я использую GoogleChartsBundle и хочу восстановить данные, которые есть в моей базе данных, для моего примера я хочу видеть количество кандидатов на категорию Нравится:

$pieChart = new PieChart();
$pieChart->getData()->setArrayToDataTable(
    [['Categorie', 'Number'],
     ['Categorie Web',     11],
     ['Categorie Mobile',      2]
    ]
);

Это работа но я хочу добавить это в динамике (больше категорий) я пробовал это в контроллер , но не работает: обновлен

 $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;

}

1 Ответ

0 голосов
/ 29 марта 2019

Я решил мою проблему Я отредактировал это в контроллере

$data = [['Categorie','Nombre de candidats']];
    foreach($categories as $categorie)
    {
        $data[] = array(
            $categorie->getTitre(), count($categorie->getCandidats()),
        );
    }
    $pieChart = new PieChart();
    $pieChart->getData()->setArrayToDataTable(
        $data
    );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...