2017-07-11 2 views
0

ich die Anzahl der Projekte pro Labor angezeigt werden soll, ist die Liste des lab eine SammlungKreisdiagramm-Anzeige nur das erste Element in der Reihe

In meinem Fall die Liste der Serie ist dynamisch

Mein Problem : Der Kuchen erzeugen nur das erste Projekt LAB

enter image description here

ProjectLab Entity:

class ProjectLab 
{ 
/** 
* 
* @ORM\ManyToOne(targetEntity="Form", inversedBy="projectLab") 
* @ORM\JoinColumn(name="form_id", referencedColumnName="id") 
*/ 
private $form; 
} 

Formular Entität:

class Form 
{ 

/** 
*. 
* @ORM\OneToMany(targetEntity="ProjectLab", mappedBy="form", cascade={"all"}) 
*/ 
private $projectLab; 
} 

meine chartPie Funktion:

public function chartPie(Survey $survey) 
{ 

    $center = $survey ->getCenter(); 
    $form = $survey->getForm(); 
    $ob = new Highchart(); 
    $ob->chart->renderTo('containerpie'); 
    $ob->chart->type('pie'); 
    $ob->chart->options3d(array('enabled' => true,'alpha'=> '45','beta'=> null)); 


    $ob->plotOptions->pie(array(
     'depth' => '25', 
     'allowPointSelect' => true, 
     'cursor' => 'pointer', 
     'dataLabels' => array('enabled' => true , 'format'=> '{point.name}'), 
     'showInLegend' => true 
    )); 

    $ob->title->text('List project per lab'); 

    $listLabProject =$form ->getProjLab(); 


    foreach($listLabProject as $lab) { 

     $data = array(
      array($lab->getProjLab(),$lab->getNbProject())); 
    } 

    $ob->series(array(array('type' => 'pie','name' => 'Number', 'data' => $data))); 
    return $ob; 
} 
+0

Wie sehen die $ Daten aus? – morganfree

Antwort

0

in Ihrer foreach Schleife, sind Sie $data jedes Mal überschreiben, anstatt darauf zu anhängt. Versuchen Sie etwas wie folgt:

$data = array(); 
foreach($listLabProject as $lab) { 
    array_push($data,array($lab->getProjLab(),$lab->getNbProject())); 
} 
Verwandte Themen