Então... Eu tô já há algumas horas batendo cabeça - depois de mais algumas horas pra fazer a aplicação em si funcionar rs - em um erro que diz que a variável não foi definida no Laravel. Logo ao se logar no painel de controle eu tenho um gráfico, que eu contabilizo o total de produtos por afiliação. Ele tem essa aparência localmente: O problema é que essa variável funciona localmente, mas quando em produção - numa hospedagem da Hostinger - ela não funciona, e o log do Laravel me indica o seguinte:
[2023-10-16 13:51:50] production.ERROR: Undefined variable $afiliacao {"userId":3,"exception":"[object] (ErrorException(code: 0): Undefined variable $afiliacao at /home/u587939652/domains/anaturezacura.com.br/public_html/admin/app/Http/Controllers/IndexController.php:75)
[stacktrace]
Esse é o código que uso para gerar os dados:
/* Busca os afiliados com valores totalizados */
$graficoAfiliados = DB::table('produtos as p')
->join('afiliados as af', 'af.afiliacaoID', '=', 'p.afiliacaoID')
->select(DB::raw('nomeAfiliacao'), DB::raw('count(p.afiliacaoID) as total'))
->groupBy(DB::raw('p.afiliacaoID'))
->groupBy('af.nomeAfiliacao')
->orderBy('p.afiliacaoID', 'asc')
->get();
/* Percorre todos os afiliados e os coloca num array */
foreach($graficoAfiliados as $afiliado){
$afiliacao[] = $afiliado->nomeAfiliacao;
$total[] = $afiliado->total;
}
/* Formata conteúdo para o ApexCharts */
$afiliacaoLabel = implode(',', $afiliacao);
$afiliacaoTotal = implode(',', $total);
return view('raiz.index', compact(
...
'afiliacaoTotal',
'comentarios',
'mensagens'
));
Esse é o script do gráfico:
var options = {
labels: ['Amazon', 'Braip', 'Eficácia', 'Hotmart', 'Monetizze', 'Outros'],
series: [{{ $afiliacaoTotal }}],
chart: { width: '100%', height: 400, type: 'donut'},
stroke: {width: 3},
...
var chart = new ApexCharts(document.querySelector('#afiliados'), options);
chart.render();
Eu pesquisei muito mas, não encontrei uma solução.