Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Váriavel Não Definida em Produção (Laravel)

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: Insira aqui a descrição dessa imagem para ajudar na acessibilidadeO 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.

1 resposta
solução!

Depois de mais algumas horas de pesquisa, consegui resolver os problemas relacionados ao projeto, que está funcional agora!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software