Jump to content

POWERED BY:

joeythai

Foreach trazendo apenas o primeiro resultado

Recommended Posts

Boa tarde pessoal,

 

Eu tenho um foreach que está me trazendo apenas um resultado a partir de uma consulta, mas na verdade tem que me retornar 10 itens:

<code>

public function getBillsUnpaid($date)

{

$results = [];

$numberBills = $this->lotModel->select(DB::RAW("

Lotes.ID AS Lote_ID,

Compradores.ID as Comprador_ID,

Compradores.CompradorWeb_ID,

Compradores.NM as NM_Comprador,

Lotes.Leilao_ID as Leilao_ID,

Lotes.NU as NU_Lote,

FORMAT(lotes.DT_VenctoBoleto, 'yyyy-MM-dd') as DT_VenctoBoleto,

REPLACE(

(CASE

WHEN

LEN(LTRIM(RTRIM(ISNULL(Compradores.NM_DDDCel,'')))) > 0 AND

LEN(LTRIM(RTRIM(ISNULL(Compradores.NM_Celular,'')))) > 0

THEN CONCAT(

LTRIM(RTRIM(Compradores.NM_DDDCel)),'',

LTRIM(RTRIM(Compradores.NM_Celular))

)

WHEN

LEN(LTRIM(RTRIM(ISNULL(Compradores.NM_DDDTel,'')))) > 0 AND

LEN(LTRIM(RTRIM(ISNULL(Compradores.NM_Telefone,'')))) > 0

THEN CONCAT(

LTRIM(RTRIM(Compradores.NM_DDDTel)),'',

LTRIM(RTRIM(Compradores.NM_Telefone))

)

ELSE ''

END)

,'-', '') AS NM_Celular,

Lotes.VL_Venda,

ISNULL(Lotes.VL_Cobranca, 0) as VL_Cobranca,

ISNULL((

SELECT SUM(VL_Cobertura)

FROM LotesXPagamentos

WHERE Lote_ID = lotes.ID

AND Pagamento_ID IS NOT NULL

), 0) as VL_Pago,

CONCAT(Lotes.NM_Descricao, '', Lotes.MM_ExtDescricao) as NM_Descricao

"))

->join('Leiloes', 'Leiloes.ID', '=', 'Lotes.Leilao_ID')

->join('Compradores', 'Compradores.ID', '=', 'Lotes.Comprador_ID')

->where('Lotes.ST_Lote', 3)

->where('Lotes.DT_VenctoBoleto', '>', '2021-03-01')

->whereRaw("

ISNULL((

SELECT SUM(VL_Cobertura)

FROM LotesXPagamentos

WHERE Lote_ID = Lotes.ID

AND Pagamento_ID IS NOT NULL

), 0) = 0")

->orderBy('Lotes.NU')

->take(10)

->get();

if(count($numberBills) > 0){

foreach($numberBills as $bills){

$results['CompradorWeb_ID'] = $bills->CompradorWeb_ID;

$results['DT_VenctoBoleto'] = $bills->DT_VenctoBoleto;

$results['VL_Cobranca'] = $bills->VL_Cobranca;

$results['Lote_ID'] = $bills->Lote_ID;

$results['Comprador_ID'] = $bills->Comprador_ID;

$results['NM_Comprador'] = $bills->NM_Comprador;

$results['NM_Descricao'] = $bills->NM_Descricao;

$results['VL_Pago'] = $bills->VL_Pago;

$results['NU_Lote'] = $bills->NU_Lote;

$results['Leilao_ID'] = $bills->Leilao_ID;

$phones = $this->getPhoneUsers($bills->CompradorWeb_ID);

$results['NM_Celular'] = (!is_null(@$phones->fone_celular)) ? $phones->fone_celular : $bills->NM_Celular;

return $results;

}

}

}

</code>

 

Se eu retorno somente a variavel $numberBills, ele me traz o resultado certinho, porém, eu não posso retornar essa variavel pq preciso pegar o resultado dela e chamar a minha outra função que faz conexão com outra base de dados e por isso eu criei esse array result, percebam que o numero do telefone vai vir da minha tabela A(função que pega o telefone) e caso não tenha o telefone nela, eu pego o numero da tabela B(resultado dessa query) porem qdo do return $results, so me retorna o primeiro registro, o que estou fazendo de errado ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • By violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • By violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • By violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • By violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.