Laravel - Insertar múltiples registros en una base de datos al mismo tiempo

 
Vista:
sin imagen de perfil
Val: 13
Ha aumentado su posición en 2 puestos en Laravel (en relación al último mes)
Gráfica de Laravel

Insertar múltiples registros en una base de datos al mismo tiempo

Publicado por Sebastian (8 intervenciones) el 09/07/2019 22:58:26
Saludos, tengo un formulario con el que pretendo insertar en una base de datos la información referente al salario de unos empleados, este form está hecho con un blucle foreach que trae de la base de datos los nombres de los empleados y algunos parámetros necesarios para realizar cálculos.

Vista
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
@extends('layouts.main')
 
@section('title', 'Liquidar nueva nomina')
 
@section('titulo')
    <h1>Liquidar nueva nomina</h1>
    @endsection
 
@section('contenido')
<section class="contenido">
    <form action="/nomina" method="post">
        @csrf
        <table border="1">
            <tbody>
        @foreach($empleados as $empleado)
            <tr>
                <td>
                    <input class="form-control" type="text" value="{{$empleado->numero_documento}}">
                </td>
                <td>
                    <input name="nombre_empleado" class="form-control" type="text" value="{{$empleado->nombres}}">
                </td>
                <td>
                    <input name="dias_laborados" class="form-control" type="number" placeholder="Dias Laborados" value="7" min="0">
                </td>
                <td>
                    <input class="form-control" name="valor_dias" type="number">
                </td>
            </tr>
        @endforeach
            </tbody>
        </table>
        <button type="submit" class="btn btn-success">Guardar</button>
    </form>
</section>
    @endsection

El problema concretamente es que no se como insertar todos los datos de una sola ves en la base de datos mediante Eloquent. En internet he encontrado algunas respuestas como usar un array, y funciona; pero no en mi caso ya que se hace manualmente y no dinámicamente como el foreach del form. Agradezco cualquier información al respecto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jairo Giovany
Val: 20
Ha mantenido su posición en Laravel (en relación al último mes)
Gráfica de Laravel

Insertar múltiples registros en una base de datos al mismo tiempo

Publicado por Jairo Giovany (1 intervención) el 18/10/2019 18:10:14
para poder enviar varios input con el mismo name hace falta agregar el "[ ]" despues del nombre como se visualiza en lo siguiente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<tr>
                            <td>
                                <input class="form-control" type="text" value="1">
                            </td>
                            <td>
                                <input name="nombre_empleado[]" class="form-control" type="text" value="Jairo Giovany">
                            </td>
                            <td>
                                <input name="dias_laborados[]" class="form-control" type="number" placeholder="Dias Laborados" value="7" min="0">
                            </td>
                            <td>
                                <input class="form-control" name="valor_dias[]" type="number">
                            </td>
                        </tr>


para que te los envie como un arreglo que facilmente puedas recorrer


1



2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 13
Ha aumentado su posición en 2 puestos en Laravel (en relación al último mes)
Gráfica de Laravel

Insertar múltiples registros en una base de datos al mismo tiempo

Publicado por Sebastian (8 intervenciones) el 20/10/2019 00:00:34
Gracias por su respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar