PHP - Dependencia de id a la hora de insertar datos

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

Dependencia de id a la hora de insertar datos

Publicado por Pepe (6 intervenciones) el 15/10/2020 08:25:21
Hola buenas,
Me ha surgido una duda, a la hora de insertar datos en base de datos, que dependan de otra tabla, tengo unas tabla que son: clientes, y otra tabla que es datos contacto, un cliente tiene varios datos de contacto, es decir, que el cliente pepe puede tener varios datos de contacto, por que un cliente tiene varios responsables, es un campo de la tabla datos de contacto, y por otra parte, un responsable tiene varios horarios, es decir que hay otra tabla que es horario_Cliente que tiene el id del cliente. La duda me ha surgido a la hora de insertar los ids de las tablas que dependen cada tabla.

Mi duda es qué es mejor, si hacer la búsqueda de los ids en el controlador con las funciones del modelo y busco el id del cliente para insertar los datos de contacto o en el modelo a la hora de hacer el insert de los datos de contacto, busco el id del cliente, e inserto el id del cliente, buscando el id del cliente pasándole el nombre , de las tablas que dependan, por ejemplo cliente - datos contacto (id_cliente) a la hora de insertar un cliente, uno puede insertar varios datos de contacto, o ninguno.

Como no se si me expliqué muy bien, un ejemplo a lo que me refiero, sin ser funcional pero para que se me entienda a lo que me refiero.

Controlado

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$datosCliente = array con los datos de $this->input->post();
$this->modelo->insertarCliente($datosCliente );
$datosContacto -> array con los datos de $this->input->post();
$datosContacto['idCliente']= $this->buscarIdCliente($datosCliente['nombreCliente']) Si hacer esto en el controlador o en el modelo a la hora de hacer la query
$this->modelo->insertarDatosContacto($datosContacto)
 
Modelo
function insertarDatosContacto ($datos) en $datos le pasaría el nombre del cliente
 
{
               lo podería hacer asi, o llamar a una funcion que me devuelva el id y llamo a la funcion
               $idCliente = $this->db->query("SELECT id_cliente from cliente where nombreCliente = '".$datos['nombreCliente']."'") Si hacer acá la busqueda del id del cliente o en el modelo
 
              $this->db->("INSERT INTO datosContacto VALUES (null,'".$idCliente."', ''.Los demás datos...   )")
 
}

Qué es mejor, hacer la búsqueda de los id en el controlador o en el modelo ?
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 Yoel
Val: 617
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Dependencia de id a la hora de insertar datos

Publicado por Yoel (198 intervenciones) el 15/10/2020 16:33:00
Hola Pepe, según puedo ver en tu mensaje estas usando un sistema de entidad relacionar en tu base de datos. En este caso, siempre que se establezca la relación entre dos o más tablas el id de la tabla padre tiene que estar en la tabla hijo te pongo el siguiente ejemplo:


Tabla cliente (Padre).


Tabla cliente_horario (Tabla Hijo).


En este ejemplo, un cliente puede tener muchos horarios pero un horario no puede estar en más de un cliente quedando entre estas dos tablas una relación de 1 a muchos. En el momento de insertar tus datos en tu formulario de captura de las horas de un cliente solo tienes que poner la selección del cliente para tomar su id e insertarlo en la base de datos.


De esta manera que te explico, el control de selección del id del cliente queda por parte del operador del sistema y se toma de la vista. El proceso de inserción de datos se realiza desde modelo, que es el encargado de hacer la interacción con la base de datos. La controladora solo se usa para compilar eso es una de las ventajas del MVC que se para las capas de trabajo.


Nota: el elemento que puedes usar para seleccionar los clientes puede ser un (select)
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: 21
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Dependencia de id a la hora de insertar datos

Publicado por Pepe (6 intervenciones) el 16/10/2020 13:21:11
Gracias por tu respuesta y ayuda me ha servido bastante.
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