Skip to content

Instantly share code, notes, and snippets.

@vanessasoutoc
Created April 11, 2017 11:27
Show Gist options
  • Save vanessasoutoc/b10f263990305f011621d499b5e9c865 to your computer and use it in GitHub Desktop.
Save vanessasoutoc/b10f263990305f011621d499b5e9c865 to your computer and use it in GitHub Desktop.
bug_2_graphs_in_one_page_blade_php
<div class="row">
<div class="col-md-12">
<div id="data_users"></div>
{!! $graphUsersMonth->render('AreaChart', 'dadosUsersGraph', 'data_users') !!}
<div id="data_articles"></div>
{!! $graphArticlesMonth->render('ColumnChart', 'dadosArticlesGraph', 'data_articles') !!}
</div>
</div>
<?php
namespace SniffPolitic\Http\Controllers;
use Illuminate\Http\Request;
use ArrayObject;
use SniffPolitic\Despesa;
use SniffPolitic\User;
use SniffPolitic\Politician;
use SniffPolitic\Article;
use Log;
use Illuminate\Support\Collection;
use Khill\Lavacharts\Lavacharts;
use DB;
use DateTime;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('admin');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$users = User::all();
$articles = Article::all();
$dados['numTotalUsuarios'] = User::all()->count();
$dados['numTotalPoliticos'] = Politician::all()->count();
$dados['numTotalNoticias'] = Article::all()->count();
/**
* Gráfico usuário cadastrados por mês
*/
$users = $this->dateToMY($users);
$usersGroupData = $this->dataGraphGroupMonthYear($users);
$graphUsersMonth = new Lavacharts;
$dadosUsersGraph = $graphUsersMonth->DataTable();
$dadosUsersGraph->addStringColumn('Mês/Ano')->addNumberColumn('Nº Usuários')->addRows(json_decode($usersGroupData));
$graphUsersMonth->AreaChart('dadosUsersGraph', $dadosUsersGraph, ['title'=>'Usuários Cadastrados / Mês','chartArea'=>['left'=>'30','height'=>'400']]);
/* Gráfico notícias inseridas por mês */
$articleGroupDate = $this->dateToMY($articles);
$articleGroupDate = $this->dataGraphGroupMonthYear($articleGroupDate);
$graphArticlesMonth = new Lavacharts;
$dadosArticlesGraph = $graphArticlesMonth->DataTable();
//$dadosArticlesGraph->addStringColumn('Mês/Ano')->addNumberColumn('Nº Notícias')->addRows(json_decode($articleGroupDate));
$dadosArticlesGraph->addStringColumn('Mês/Ano')->addNumberColumn('Nº Notícias')->addRows([['09/2016','50'],['10/2016','60']]);
$graphArticlesMonth->ColumnChart('dadosArticlesGraph', $dadosArticlesGraph, ['title'=>'Notícias/Mês']);
return view('home')->with(['numTotalUsuarios'=>$dados['numTotalUsuarios'],
'numTotalPoliticos'=>$dados['numTotalPoliticos'],
'numTotalNoticias'=>$dados['numTotalNoticias'],
'graphUsersMonth'=>$graphUsersMonth,
'graphArticlesMonth'=>$graphArticlesMonth,
]);
}
@kevinkhill
Copy link

kevinkhill commented Apr 11, 2017

instead of $graphUsersMonth = new Lavacharts; change that to $lava = new Lavacharts;

remove $graphArticlesMonth = new Lavacharts;

Then your datatables can be created like this: $dadosUsersGraph = $lava->DataTable(); and $dadosArticlesGraph = $lava->DataTable();

remove these two lines:

    'graphUsersMonth'=>$graphUsersMonth,
    'graphArticlesMonth'=>$graphArticlesMonth,

and pass $lava to your view instead.

Then in your view, instead of $graphUsersMonth->render and $graphArticlesMonth->render they should both be $lava->render

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment