Logical Doubt Generation of rounds Laravel

1

I have a championship management system in Laravel. The system works perfectly, but I am having problems generating rounds, I need that regardless of the number of groups registered, the system can generate the championship rounds, I am doing the following, but according to the console it returns the following error at line 184:

  

ErrorException (E_NOTICE)   HELP   Undefined variable: rounds

As I do not have much experience in Laravel, I do not know how to write the code correctly, or define some variables, it does not work at all, I'm already in despair, if some good soul can help me, I'll do my best to reciprocate, right away!

RoundAdminController.php

<?php

class RodadaAdminController extends BaseController {

    public function listarGeracaoRodadas($id) {

        $equipe = Equipe::find(Auth::id());

        $totalJogadores = Jogador::join('transferencias', 'transferencias.id_jogador', '=', 'jogadores.id_jogador')
                                            ->where('transferencias.id_equipe_atual', '=', $equipe->id_equipe)
                                            ->where('flg_aprovado', '=', 1)
                                            ->groupBy('transferencias.id_jogador')
                                            ->orderBy('id_transferencia', 'DESC')
                                            ->count();

       $totalCampeonatosEmAberto = Campeonato::where('dt_inicio_inscricoes', '<=', date('Y-m-d'))
                           ->where('dt_fim_inscricoes', '>=', date('Y-m-d'))
                           ->where('flg_ativo', '=', 1)
                           ->count();


      $campeonato = Campeonato::find($id);

      if($campeonato->flg_tp_campeonato == 1) {
        return self::geraJogosMunicipal($campeonato->id_campeonato);
      }

        return View::make('admin/campeonatos/geracao/gerar-rodadas')->with(
                            array(
                    'equipe' => $equipe,
                    'totalJogadores' => $totalJogadores,
                    'totalCampeonatosEmAberto' => $totalCampeonatosEmAberto,
                                'totalInscricoes' => InscricaoController::getTotalnscricao(),
                    'campeonato' => $campeonato,
                            )
                        );
    }


  public function gerarRodadas() {

    // Gerando as Rodadas do Campeonato
    foreach(Input::get('rodada') as $idJogo => $rodada) {
        $jogo = Jogo::find($idJogo);
        $jogo->nr_rodada = $rodada[0];
        $jogo->save();
    }

    $campeonato = Campeonato::find($jogo->id_campeonato);
    $campeonato->flg_andamento = 3; // Jogos criados com rodadas
    $campeonato->save();

    return Redirect::to(URL::route('admin-selecao-campeonato-jogos'))->with(array('sucesso' => 'Rodadas Criadas com Sucesso!'));

  }

  static public function geraJogosMunicipal($id) {

    $campeonato = Campeonato::find($id);

    foreach($campeonato->getGrupos as $grupo) {
        $equipes = $grupo->getEquipes()->select('id_equipe')->get();

        $qtdEquipes = count($equipes);

        if($qtdEquipes == 8){
            // Gerando a Primeira Rodada
            $rodadas[$grupo->id_grupo][1] = array(
                            array($equipes[0]->id_equipe, $equipes[1]->id_equipe),
                            array($equipes[2]->id_equipe, $equipes[3]->id_equipe),
                            array($equipes[4]->id_equipe, $equipes[5]->id_equipe),
                            array($equipes[6]->id_equipe, $equipes[7]->id_equipe),
                          );

            // Gerando a Segunda Rodada
            $rodadas[$grupo->id_grupo][2] = array(
                            array($equipes[7]->id_equipe, $equipes[4]->id_equipe),
                            array($equipes[5]->id_equipe, $equipes[6]->id_equipe),
                            array($equipes[3]->id_equipe, $equipes[0]->id_equipe),
                            array($equipes[1]->id_equipe, $equipes[2]->id_equipe),
                          );

            // Gerando a Terceira Rodada
            $rodadas[$grupo->id_grupo][3] = array(
                            array($equipes[6]->id_equipe, $equipes[3]->id_equipe),
                            array($equipes[2]->id_equipe, $equipes[5]->id_equipe),
                            array($equipes[4]->id_equipe, $equipes[1]->id_equipe),
                            array($equipes[0]->id_equipe, $equipes[7]->id_equipe),
                          );

            // Gerando a Quarta Rodada
            $rodadas[$grupo->id_grupo][4] = array(
                            array($equipes[1]->id_equipe, $equipes[6]->id_equipe),
                            array($equipes[3]->id_equipe, $equipes[4]->id_equipe),
                            array($equipes[7]->id_equipe, $equipes[2]->id_equipe),
                            array($equipes[5]->id_equipe, $equipes[0]->id_equipe),
                          );

            // Gerando a Quinta Rodada
            $rodadas[$grupo->id_grupo][5] = array(
                            array($equipes[0]->id_equipe, $equipes[2]->id_equipe),
                            array($equipes[1]->id_equipe, $equipes[3]->id_equipe),
                            array($equipes[4]->id_equipe, $equipes[6]->id_equipe),
                            array($equipes[7]->id_equipe, $equipes[5]->id_equipe),
                          );

            // Gerando a Sexta Rodada
            $rodadas[$grupo->id_grupo][6] = array(
                            array($equipes[6]->id_equipe, $equipes[0]->id_equipe),
                            array($equipes[5]->id_equipe, $equipes[1]->id_equipe),
                            array($equipes[3]->id_equipe, $equipes[7]->id_equipe),
                            array($equipes[2]->id_equipe, $equipes[4]->id_equipe),
                          );

            // Gerando a Sétima Rodada
            $rodadas[$grupo->id_grupo][7] = array(
                            array($equipes[7]->id_equipe, $equipes[1]->id_equipe),
                            array($equipes[5]->id_equipe, $equipes[3]->id_equipe),
                            array($equipes[6]->id_equipe, $equipes[2]->id_equipe),
                            array($equipes[4]->id_equipe, $equipes[0]->id_equipe),
                          );

          }else if($qtdEquipes == 7){

                // Gerando a Primeira Rodada
                $rodadas[$grupo->id_grupo][1] = array(
                                array($equipes[1]->id_equipe, $equipes[2]->id_equipe),
                                array($equipes[3]->id_equipe, $equipes[4]->id_equipe),
                                array($equipes[5]->id_equipe, $equipes[6]->id_equipe),
                                //array($equipes[6]->id_equipe (Folga 0)
                              );

                // Gerando a Segunda Rodada
                $rodadas[$grupo->id_grupo][2] = array(
                                array($equipes[2]->id_equipe, $equipes[3]->id_equipe),
                                array($equipes[4]->id_equipe, $equipes[5]->id_equipe),
                                array($equipes[0]->id_equipe, $equipes[6]->id_equipe),
                                //array($equipes[5]->id_equipe (Folga 1)
                              );

                // Gerando a Terceira Rodada
                $rodadas[$grupo->id_grupo][3] = array(
                                array($equipes[3]->id_equipe, $equipes[6]->id_equipe),
                                array($equipes[1]->id_equipe, $equipes[5]->id_equipe),
                                array($equipes[0]->id_equipe, $equipes[4]->id_equipe),
                                //array($equipes[4]->id_equipe (Folga 2)
                              );

                // Gerando a Quarta Rodada
                $rodadas[$grupo->id_grupo][4] = array(
                                array($equipes[1]->id_equipe, $equipes[4]->id_equipe),
                                array($equipes[0]->id_equipe, $equipes[5]->id_equipe),
                                array($equipes[2]->id_equipe, $equipes[6]->id_equipe),
                                //array($equipes[3]->id_equipe (Folga 3)
                              );

                // Gerando a Quinta Rodada
                $rodadas[$grupo->id_grupo][5] = array(
                                array($equipes[2]->id_equipe, $equipes[5]->id_equipe),
                                array($equipes[0]->id_equipe, $equipes[3]->id_equipe),
                                array($equipes[1]->id_equipe, $equipes[6]->id_equipe),
                                //array($equipes[2]->id_equipe (Folga 4)
                              );

                // Gerando a Sexta Rodada
                $rodadas[$grupo->id_grupo][6] = array(
                                array($equipes[4]->id_equipe, $equipes[6]->id_equipe),
                                array($equipes[1]->id_equipe, $equipes[3]->id_equipe),
                                array($equipes[0]->id_equipe, $equipes[2]->id_equipe),
                                //array($equipes[1]->id_equipe (Folga 5)
                              );

                // Gerando a Sétima Rodada
                $rodadas[$grupo->id_grupo][7] = array(
                                array($equipes[0]->id_equipe, $equipes[1]->id_equipe),
                                array($equipes[2]->id_equipe, $equipes[4]->id_equipe),
                                array($equipes[3]->id_equipe, $equipes[5]->id_equipe),
                                //array($equipes[0]->id_equipe (Folga 6)
                              );
        }
    }   

    foreach($rodadas as $idGrupo => $jogos) {
      foreach($jogos as $nrRodada => $jg) {
        foreach($jg as $eqs) {
          reset($eqs);
          $eq1 = $eqs[key($eqs)];

          end($eqs);
          $eq2 = $eqs[key($eqs)];
          $jogo = new Jogo;
          $jogo->id_campeonato = $campeonato->id_campeonato;
          $jogo->id_equipe1 = $eq1;
          $jogo->id_equipe2 = $eq2;
          $jogo->id_grupo = $idGrupo;
          $jogo->flg_tp_jogo = 1;
          $jogo->nr_rodada = $nrRodada;
          $jogo->flg_ativo = 1;
          $jogo->save();
          echo $eq1.' x '.$eq2.'<br>';
        }
      }
    }

    $campeonato = Campeonato::find($jogo->id_campeonato);
    $campeonato->flg_andamento = 3; // Jogos criados com rodadas teste
    $campeonato->save();


    return Redirect::to(URL::route('admin-selecao-campeonato-jogos'))->with(array('sucesso' => 'Rodadas Criadas com Sucesso!'));

  }
}

generate-rounds.blade.php

@extends('admin/template')
@section('content')
  <ol class="breadcrumb">
    <li><a href="{{ URL::route('dashboard') }}">Home</a></li>
    <li><a href="#">Campeonatos</a></li>
    <li class="active">Geração de Rodadas</li>
  </ol>
  <h1>Geração de Rodadas</h1>
  @if( Session::has('sucesso') )
    <div class="alert alert-success">
        {{{ Session::get('sucesso') }}}
    </div>
  @endif
  @if( Session::has('warning') )
      <div class="alert alert-warning">
          {{ Session::get('warning') }}
      </div>
  @endif
  @if ( count($errors) > 0)
      <div class="alert alert-danger">
          <strong>Erro: </strong>
          @foreach ($errors->all() as $e)
             {{ $e }}
          @endforeach
      </div>
  @endif
  {{ Form::open(array('url' => URL::route('post-gerar-rodadas', $campeonato->id_campeonato), 'class' => 'form-horizontal')) }}
    <ul class="nav nav-tabs">
      @foreach($campeonato->getGrupos as $grupo)
      @if(!isset($nr_divisao) || $grupo->nr_divisao != $nr_divisao)     
      <?php $grupos[] = $grupo->nr_divisao ?>
      <li><a href="#div{{ $grupo->nr_divisao }}" data-toggle="tab">{{ GrupoAdminController::getDivisao($grupo->nr_divisao, $grupo->id_campeonato) }}</a></li>
      @endif
      <?php $nr_divisao = $grupo->nr_divisao; ?>
      @endforeach
    </ul>
    <div class="tab-content">
      @foreach($campeonato->getGrupos as $divisao)
        <div id="div{{$divisao}}" class="tab-pane">
          <div class="col-md-12">
            <label>Buscar Jogo</label>
            <div class="input-group">
              <span class="input-group-addon"><i class="fa fa-search"></i></span>
              <input type="text" class="form-control" name="buscarTabela">
            </div>
          </div>
          <div class="clearfix"></div>
          <hr>
            @foreach($campeonato->getGrupos()->where('nr_divisao', '=', $divisao)->get() as $grupo)
              <div class="panel panel-default">
                <div class="panel-heading">
                  <h3 class="panel-title">Grupo {{ $grupo->nm_grupo }}</h3>
                </div>
                <div class="panel-body">
                  <?php $x = 1; ?>
                  @foreach($grupo->getJogos as $jogo)
                    <div class="col-md-6">
                      <div class="panel panel-default">
                        <div class="panel-heading">
                          <h3 class="panel-title">{{{ str_limit($jogo->getJogadorHome()->first()->nm_equipe, 20) }}} x {{{ str_limit($jogo->getJogadorAway()->first()->nm_equipe, 20) }}}</h3>
                        </div>
                        <div class="panel-body">
                          <?php
                            $totJogos = count($grupo->getJogos);
                            $totEquipes = floor($grupo->getEquipes()->count() / 2);
                          ?>
                          Selecione uma rodada
                          <select name="rodada[{{ $jogo->id_jogo }}][]  " class="form-control">
                            @for($i = 1; $i <= floor($totJogos / $totEquipes); ++$i)
                            <option {{ ($i == $x) ? 'selected="selected"' : '' }} value="{{ $i }}">{{ $i }} Rodada</option>
                            @endfor
                          </select>
                        </div>
                      </div>
                    </div>
                    <?php 
                      if($x == floor($totJogos / $totEquipes)) {
                        $x = 0;
                      }
                      $x++;
                    ?>
                  @endforeach
                </div>
              </div>
            @endforeach
        </div>
      @endforeach
    </div>
    <div class="clearfix"></div>
    <hr>
    <button class="btn btn-block btn-success">Gerenciar Rodadas</button>
    <div class="clearfix"></div>
    <hr>
  {{ Form::close() }}
@stop

@section('scripts')
$('input[name="buscarTabela"]').on('keyup', function() {
    var vlrBusca = this;
    $.each($(this).parents('.tab-pane').find('.panel'), function() {
        $(this).show();
        if($(this).text().toLowerCase().indexOf($(vlrBusca).val().toLowerCase()) == -1) {
            $(this).hide();
        }
    });
});
@stop
    
asked by anonymous 19.07.2018 / 14:53

0 answers