Anuncio

Entra a participar en el Slack de Laraveles. Solicita tu invitación aquí.
Nos ayuda a manter la comunidad

#1 11/09/2018 14:24:18

cesar92id
Miembro
Registrado: 11/09/2018
Mensajes: 1

No puedo guardar en BD datos de inputs dinámicos. Laravel 5.5

Hola a todos, espero me puedan ayudar con lo siguiente.

Estoy creando un formulario tipo ingresos, resulta que el detalle del documento es dinámico, y al momento de querer guardarlo es donde tengo el problema, el controlador no los detecta, me dice que no he enviado nada ya que al querer guardarlos estos inputs pareciera que no existirán para el controlador, uno de los errores es al momento de guardar es "Column 'codigo' cannot be null". Agrego nuevas filas al detalle Jquery de la siguiente forma:

Precioso un botón "agregar" y me ejecuta lo siguiente:

var fila='<tr class="selected" id="fila'+cont+'"><td><button type="button" class="btn btn-warning" onclick="eliminar('+cont+');">X</button></td><td><input type="hidden" id="codigo_cuenta_s[]" name="codigo_cuenta_s[]" value="'+codigo+'">'+codigo+'</td><td><input type="text" name="cuentas[]" id="cuentas[]" value="'+cuentas+'"></td><td><input type="hidden" name="debe[]" id="debe[]" value="'+debe+'"><div align="right">'+debe+'</div></td><td><input type="hidden" name="haber[]" id="haber[]" value="'+haber+'"><div align="right">'+haber+'</div></td></tr> ';

$('#detalles').append(fila);

Donde "detalles" es en id de la tabla del html a la que le agrego las filas.

Así tengo el código en el controlador:

        $codigo_cuenta_s=$request->get('codigo_cuenta_s');
        $cuentas=$request->get('cuentas');
        $debe=$request->get('debe');
        $haber=$request->get('haber');
       
       
        $cont=0;

        while($cont<10){               
        $detalle = new DetalleIngresos();
        $detalle->id_ingresos=$ingresos->id_ingresos;
        $detalle->ingreso_n=$ingresos->com_ingre_n;
        $detalle->codigo=$codigo_cuenta_s[$cont];
        $detalle->cuentas=$cuentas[$cont];
        $detalle->debe=$debe[$cont];
        $detalle->haber=$haber[$cont];
        $detalle->save();
        $cont++;

        }

En la fila del detalle se van agregando los campos input correctamente, al inspeccionarlos sale lo siguiente:

<tr class="selected" id="fila0">
<td><button type="button" class="btn btn-warning" onclick="eliminar(0);">X</button></td>
<td><input type="hidden" id="codigo_cuenta_s[]" name="codigo_cuenta_s[]" value="1111.002.000.000">1111.002.000.000</td>
<td><input type="text" name="cuentas[]" id="cuentas[]" value="Cuentas1"></td>
<td><input type="hidden" name="debe[]" id="debe[]" value="Debe1"><div align="right">Debe1</div></td>
<td><input type="hidden" name="haber[]" id="haber[]" value="Haber1"><div align="right">Haber1</div></td>
</tr>

Cabe destacar que los demás datos del formulario se guardan sin problemas. Uso laravel 5.5
Como ven al parecer esta todo correcto pero no logro entender por que el controlador no los detecta. Llevo muchas horas intentando resolver el problema, es lo único que me impide terminar mi proyecto y ya no se que más hacer. Espero me puedan sugerir algunas cosas, estaré atento.

Última edición por cesar92id (11/09/2018 14:59:05)

Desconectado

Pié de página <- REVISAR ->

Powered by FluxBB

Ayuda a mantener la comunidad: