Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

PROBLEMA COM CHEKBOX

OLÁ, CRIEI UMA APLICAÇÃO NO LARAVEL ONDE TENHO ALGUNS CHEKBOX PORÉM ESTOU COM UM PROBLEMA, ELE SÓ FUNCIONA SE TODOS FOREM SELECIONADOS, POIS NO MEU CONTROLLER TEM UM FOREACH PARA INSERIR OS DADOS.

VIEW ESTÁ ASSIM.

@foreach($Matricula['contratos'] as $Contrato)      
          <tr id="trParcelas">
            <td hidden><input class="form-control bg-transparent" value="{{$Contrato->id}}" name="InputIdParcela[]"></td>
            <td><input class="form-control bg-transparent form-control-sm" value="{{$Contrato->banco}}" name="inputBanco[]"></td>
            <td><input class="form-control bg-transparent form-control-sm" value="{{$Contrato->parcela}}" name="inputParcela[]"></td>
            <td><input class="form-control bg-transparent form-control-sm" value="{{$Contrato->pagas}}" name="inputPagas[]"></td>
            <td><input class="form-control bg-transparent form-control-sm" value="{{$Contrato->prazo}}" name="inputPrazo[]"></td>
            <td><input class="form-control bg-transparent form-control-sm" value="{{$Contrato->saldoDevedor}}" name="inputSaldoDevedor[]"></td>
            <td><input class="form-control bg-transparent form-control-sm" value="{{$Contrato->bancoDestino}}" name="inputBancoDestino[]"></td>
            <td><input class="form-control bg-transparent form-control-sm" value="{{$Contrato->novaParcela}}" name="inputNovaParcela[]"></td>
            <td><input class="form-control bg-transparent form-control-sm" value="{{$Contrato->comissao}}" name="inputComissao[]"></td>
            <td><input class="form-control bg-transparent form-control-sm" value="{{$Contrato->troco}}" name="inputTroco[]"></td>
            <td><input type="checkbox" name="checkboxDigitar[]" value="SIM"></td>
          </tr>
          @endforeach

CONTROLLER ESTÁ ASSIM

foreach ($request->inputBanco as $item => $v)
       $Matricula->contratos()->updateOrCreate(
            [

                'id' => Request()->input('InputIdParcela')[$item]

            ],
            [
                 'banco' => Request()->input('inputBanco')[$item],
                 'parcela' => Request()->input('inputParcela')[$item],
                 'pagas' => Request()->input('inputPagas')[$item],
                 'prazo' => Request()->input('inputPrazo')[$item],
                 'saldoDevedor' => Request()->input('inputSaldoDevedor')[$item],
                 'bancoDestino' => Request()->input('inputBancoDestino')[$item],
                 'novaParcela' => Request()->input('inputNovaParcela')[$item],
                 'troco' => Request()->input('inputTroco')[$item],
                 'comissao' => Request()->input('inputComissao')[$item],
                 'digitar' => Request()->input('checkboxDigitar')[$item],
                 'updated_at' => now()               
            ]
         );

        return back()->with(['sucess' => 'Os dados foram gravados com sucesso']);
1 resposta

Robson, boa tarde!

Na migration relativa aos contratos, para cada um dos campos que você acredita que pode ser vazio adicione um default(''), veja o exemplo abaixo:

$table->float("coluna")->default('');

Espero ter ajudado e bons estudos!