Skip to content

Instantly share code, notes, and snippets.

@fxcosta
Created November 6, 2017 01:45
Show Gist options
  • Save fxcosta/3aa9d23c89bfd94ce524b24ceb032756 to your computer and use it in GitHub Desktop.
Save fxcosta/3aa9d23c89bfd94ce524b24ceb032756 to your computer and use it in GitHub Desktop.
Simples script pra ajudar a dúvida de uma pessoa no Laravel Brasil sobre usar o fxcosta/laravel-chartjs de maneira dinâmica: https://www.facebook.com/groups/laravelbrasil/permalink/1604536466235069/
<?php
$dados = $objetoQualquer->meDeTodosOsDados(); // seu select seja da forma como você faz.
$arrayCompleto = []; // esse será nosso array principal que agrupará os outros arrays.
foreach($dados as $dado) {
$arrayCompleto[] = [
'label' => $dado->label,
'backgroundColor' => $dado->color
'qualquerCoisaDoChartJs' => $dado->qualquerAtributoValido
];
// ai em cima nós estamos sempre inserindo um array pra dentro do array completo.
// esse array interno tem que ter a estrutura que a lib exige, que no final das contas é o que
// o chartjs exige.
}
print_r($arrayCompleto); // apenas pra vc entender, no final da iteração, o array completo vai ser algo como:
// array
// array ('label' => 'x', ....)
// array ('label' => 'y', ....)
// agora que temos tudo que precisavamos, podemos instanciar nosso objeto que cuida do chart e passar
// tudo que precisamos pra ele:
$chartjs = app()->chartjs
->name('x')
->type('bar')
->datasets($arrayCompleto);
// agora sim o chart está completo e tu pode jogar ele pra tua view ou fazer qualquer coisa com objeto
// porque você construiu o array com os dados formatados e depois só mandou pro método datasets.
// a lógica parte daí, agora a forma como tu vai construir o chart ou que tipo de chart é, depende do teu problema.
// em geral, vc pode construir charts dinâmicos assim :-)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment