[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
MarcosDisc
Criador MarcosDisc 01/04/2022

Bom dia Carlos, tranquilo?

Estou com uma dificuldade de entender um problema no retorno de uma consulta no Larave. Eu construir o script SQL e transpuz para a consulta abaixo no Laravel:

        $sql = "SELECT
                    c.UnidadeId,
                    YEAR(c.DataColeta) as anoDataColeta,
                    COUNT(c.UnidadeId) as qtdeUnidades
                FROM
                    dbo.Coleta c
                WHERE
                    c.ClienteId = 2
                    AND
                    YEAR(c.DataColeta)=2022
                    AND
                    MONTH(c.DataColeta)=01
                GROUP BY
                    c.UnidadeId,
                    YEAR(c.DataColeta)";

        $users = DB::select($sql);

        dd($users);

porem, no banco eu retorno 23 registros e no Larevel o retorno é de 18 registros... já tentei realizar a mesma de diversas forma e o resultado é o mesmo... vc pode me ajudar? Tem alguma observação que deixei passa?

 

Criador MarcosDisc 01/04/2022

transpus

MarcosDisc
Manager Carlos Ferreira 01/04/2022

Olá, Marcos!
Tudo bem?

Ajudo sim, claro.

Primeiro, evite ao máximo trabalhar com querys dessa forma aí, usando o select(), porque isso pode abrir brechas de segurança no seu sistema.

Essa consulta ela é relativamente simples, nem precisa de join, menos ainda de trabalhar com relacionamentos (usando o with).

Para filtrar por ano, use o whereYear('DataColeta', 2022)
Pelo mês, whereMonth('DataColeta', 01)

Reescreva a query, se não conseguir, posta aqui o resultado que vou te ajudando.

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!