Ir para conteúdo
Fórum Script Brasil
  • 0

Os collections do Laravel no PHP [Resolvido]


Frank K Hosaka

Pergunta

Eu tenho uma collection chamada $tarifa e outra chamada $venda, ambos usam as mesmas datas. O problema é colocar lado a lado, dentro de uma tabela.

No PHP, eu uso a chave do array da $tarifa para chamar o valor da $venda.

Já o Laravel usa a tecnologia dos collections, e eu não tenho a menor ideia de como trabalhar com isso. Assim, eu apelei para o PHP, a minha única dúvida era saber se o PHP é capaz de trabalhar com as collections do Laravel. O certo é estudar o Laravel, mas esse é um dos casos que é bem mais rápido apelar para o PHP:

app > Http > Controllers > DiarioController
<?php // lista parcial
public function mercado(Request $request){
    $dataInicial='2024-01-01';
    $dataFinal='2024-01-31';
    $tarifas=tbdiario::where('contad',407)->where('hist','like','Mercado%')
        ->whereBetween('dia',[$dataInicial,$dataFinal])->get();
    $venda=tbdiario::where('contac',304)->where('hist','like','Mercado%')
        ->whereBetween('dia',[$dataInicial,$dataFinal])->get();
    $somaTarifa=$tarifas->sum('valor');
    $somaVenda=$venda->sum('valor');
    return view('mercado',compact('tarifas','venda','somaTarifa','somaVenda'));}

resources > views >mercado.blade.php
@include('menu')
<script>btmenu.innerHTML='Mercado Pago Janeiro 2024'</script>
<table class='table table-striped linha'><tr><th>Dia<th class=text-end>Tarifa<th class=text-end>Venda
@foreach($tarifas as $key=>$tarifa)
    @php $valorVenda=$venda->where('dia',$tarifa->dia)->value('valor'); @endphp
    <tr><td>{{date('d/m/y',strtotime($tarifa->dia))}}
        <td class=text-end nowrap >{{dec($tarifa->valor)}}
        <td class=text-end>{{dec($valorVenda)}}
@endforeach
<tr><th>Total<th class=text-end>{{dec($somaTarifa)}}
    <th class=text-end>{{dec($somaVenda)}}
</table>

 

Pensando um pouco mais, eu decidi trabalhar com a collection como se fosse um array. E a ideia deu certo, não vou precisar do marcador @php no blade:

resources>views>mercado.blade.php
@include('menu')
<script>btmenu.innerHTML='Mercado Pago Janeiro 2024'</script>
<table class='table table-striped linha'><tr><th>Dia<th class=text-end>Tarifa<th class=text-end>Venda
@foreach($tarifas as $key=>$tarifa)
    <tr><td>{{date('d/m/y',strtotime($tarifa->dia))}}
        <td class=text-end nowrap >{{dec($tarifa->valor)}}
        <td class=text-end>{{dec($venda[$key]->valor)}}
@endforeach
<tr><th>Total<th class=text-end>{{dec($somaTarifa)}}
    <th class=text-end>{{dec($somaVenda)}}
</table>

 

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...