Saltar a contenido

Relaciones entre módulos

Por qué importa

Las relaciones son las conexiones entre módulos: un caso "pertenece a" un contacto; un contacto "tiene muchos" casos; una compañía "tiene muchos" contactos y prospectos. Estas conexiones generan las pestañas de relacionados y permiten navegar entre registros.

Tipos de relación

  • belongsTo — apunta a otro (FK).
  • hasMany — tiene varios del otro lado.
  • hasOne — tiene exactamente uno.
  • belongsToMany — muchos a muchos con tabla intermedia.
  • morphTo / morphMany — polimórfica (puede relacionarse con varios tipos).

Crear una relación

  1. Abre el módulo origen → pestaña RelacionesAgregar.
  2. Llena: tipo, módulo destino, nombre, etiqueta, llave foránea.
  3. Guardar.

ZaazCRM crea la columna FK (si belongsTo), genera la pestaña de relacionados, y permite acceder a registros conectados en plantillas y reportes.

Screenshot: editor de relación

Cómo se ven las relaciones en uso

En el detalle de un contacto, las pestañas Casos, Prospectos, Facturas son cada una una relación visualizada. ZaazCRM usa el campo display_name para mostrar cada registro.

Modificar o eliminar

  • Renombrar etiqueta — instantáneo, sin efecto en datos.
  • Cambiar tipo de relación — solo si no hay datos.
  • Eliminar la relación — la pestaña desaparece pero los datos permanecen.

Patrones comunes en ZaazCRM

  • Caso belongsTo Contacto.
  • Contacto hasMany Casos.
  • Contacto belongsTo Compañía.
  • Compañía hasMany Contactos.
  • Prospecto belongsTo Contacto.
  • Presupuesto belongsTo Prospecto (cuando aplica).

Ten cuidado con

  • Las relaciones polimórficas son complejas.
  • Llaves foráneas con datos no se cambian.
  • Eliminar el padre puede afectar a los hijos (cascade vs restrict).

A dónde sigue