Nueva pregunta

Pregunta:

Fecha: 07-03-2018 02:12:43 (En Español)

Insert varios registros en array[No resuelta]

Hola a todos, me podrían ayudar con un insert, hace días que estoy dando vueltas a esto y no puedo resolverlo. Tengo un multiselect en donde elijo a varios usuarios, pero cuando trato de insertarlo en la base de datos me devuelve un error de que es un array.

Si hago un " dd($request->tutor_id);" me trae perfectamente los id de los usuarios elegidos, pero en el insert me da error, este es mi insert

foreach ($request as $req){
            $comunication = new Comunication();
            $comunication->school_id = auth()->user()->school_id;
            $comunication->date = now();
            $comunication->fill($req->all())->save();
        }

y recibo el error Array to string conversion (SQL: insert into

Me podrían dar una mano por favor.

Muchas gracias

saludos
Etiquetas: Array PHP - Base de Datos - CRUD - Laravel - MySQL - PHP - PHP PDO - Pregunta Votos: 0 - Respuestas: 4 - Vistas: 16 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 07-03-2018 07:49:21 no se que estas usando si un framework o como realizas el insert, el asunto es que si vas a insertar un array en un campo de la db, debes convertirlo a json primero y si vas a realizar una inserción por cada item del select, entonces alli la cosa cambia, pues debes indicar en el bucle que registro se va a insertar en ese momento.

    //Caso 1:
    $valor = json_encode($_POST['valores']);
    $a = $db->query("INSERT INTO tabla (campo) VALUE('$valor')");
    
    //Caso 2;
    for($i=0; $i<count($_POST['valores']); $i++ ){
        $valor = $_POST['valores'][$i];//Recuerden limpiar .los valores antes de la inserción a su base de datos
    
        //Se realiza una inserción por cada elemento del array
        $a = $db->query("INSERT INTO tabla (campo) VALUE('$valor')");
    
    }
    
      Votos: 0 - Link respuesta
     
  • Fecha: 07-03-2018 08:18:46 Carlos estoy utilizando laravel 5.6 y eloquent y por lo que he podido encontrar en internet con un foreach supuestamente esta bien, pero no se que estoy haciendo mal.   Votos: 0 - Link respuesta
     
  • Fecha: 12-03-2018 13:48:49 Yo te recomendaría que revises tu modelo de datos... no deberías tener la necesidad de guardar un array en un campo de la base.

    Uno de los (varios) problemas que te vas a encontrar es que va a ser muy difícil encontrar registros... no es lo mismo el arreglo [1, 2, 3] que [2, 3, 1] (Si está guardado como string)...
      Votos: 0 - Link respuesta
     
  • Fecha: 20-03-2018 10:30:07 Aqui esta una explicación detallada

    ENVIAR ARRAY DE INPUTS Y ACTUALIZAR BD
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión