Voici le var_dump pour ma requête dans mon code:Essayer de mettre requête DQL dans Highcharts tableau, retourne 0 malgré réseau étant peuplée
array (size=2)
0 =>
array (size=4)
0 =>
array (size=1)
'barbell_curl_1_weight' => int 15
1 =>
array (size=1)
'barbell_curl_1_weight' => int 20
2 =>
array (size=1)
'barbell_curl_1_weight' => int 25
3 =>
array (size=1)
'barbell_curl_1_weight' => int 20
Voici ma question:
/**
* @param User $user
* @param String $col
* @return array
*/
public function getStatsForStatsByDQL(User $user, String $col)
{
$parameters = (array('user' => $user,
));
$em2 = $this->getDoctrine()->getManager()
->getRepository('AppBundle:ExerciseStats')
->createQueryBuilder('g')
->setParameters($parameters)
->where('g.user = :user')
->select('g.'. $col)
->setMaxResults(12)
->join('g.user', 'user')
->orderBy('g.'. 'timestamp','ASC')
->getQuery()->getResult(Query::HYDRATE_ARRAY);
return $em2;
}
Comme vous le voyez à partir de var_dump, je reçois les données dont j'ai besoin. Voici la fonction Highcharts il va dans:
/**
* @return \Symfony\Component\HttpFoundation\Response
* @Route ("user/stats", name="user_stats")
*/
public function chartAction()
{
$user = $this->getUser();
// Chart
$query = $this->getStatsForStatsByDQL($user,
ExerciseConsts::BARBELL_CURL_1_WEIGHT);
$series = array($query, array("name" => "weight", "data" =>
$query));
$ob = new Highchart();
$ob->chart->renderTo('linechart');
$ob->title->text('Barbell Curl Weight');
$ob->xAxis->title(array('text' => "Workouts"));
$ob->yAxis->title(array('text' => "Weight"));
$ob->series($series);
return $this->render('user/stats.html.twig', array(
'chart' => $ob
));
}
Donc tout ce que je vais revenir est 0. Lorsque vous utilisez des points d'arrêt dans xdebug, je reviens ceci:
1 = {array} [2]
name = "weight"
data = {array} [4]
0 = {array} [1]
barbell_curl_1_weight = 15
1 = {array} [1]
barbell_curl_1_weight = 20
2 = {array} [1]
barbell_curl_1_weight = 25
3 = {array} [1]
barbell_curl_1_weight = 20
Comment puis-je extraire les poids et l'obtenir dans le graphique Highchart? La documentation pour le paquet Highcharts fait complètement défaut à cet égard. Faites-moi savoir si quelqu'un a des indices. Merci!
Voici le var_dump de json_encode ($ series, JSON_NUMERIC_CHECK). Peut-être que cela vous aidera:
chaîne '[[{"barbell_curl_1_weight": 15}, {"barbell_curl_1_weight": 20}, {"barbell_curl_1_weight": 25}, {"barbell_curl_1_weight": 20}], {"name" : "poids", "données": [{"barbell_curl_1_weight": 15}, {"barbell_curl_1_weight": 20}, {"barbell_curl_1_weight": 25}, {"barbell_curl_1_weight": 20}]}] '(longueur = 266)
vous pouvez utiliser '$ ob = json_encode ($ ob, JSON_NUMERIC_CHECK);' et ensuite passer à la série –
Je ne suis pas tout à fait suivi. J'ai déjà $ ob = new Highchart(). Comment cela fonctionnerait-il exactement? Si vous pouviez clarifier un peu, ce serait génial. Merci pour votre temps. –
mon erreur, il devrait être '$ series = json_encode ($ series, JSON_NUMERIC_CHECK);' –