Saltar al contenido principal

Relaciones

Las relaciones conectan registros de distintas entidades usando campos de tipo relation.

Crear una relacion

Al definir un campo de tipo relation, se especifica la entidad relacionada:

generate_entity({
definition: {
entity: { name: "facturas" },
fields: [
{
name: "Cliente",
fieldKey: "cliente_id",
fieldType: "relation",
config: { relatedEntity: "clientes" }
}
]
}
})

Almacenamiento

El campo relation almacena el UUID del registro relacionado:

{
"cliente_id": "6bd2d1db-d104-4a15-977a-a759c38608a9"
}

Resolver relaciones

Al consultar registros, se pueden expandir las relaciones con resolve:

MCP

query_records resuelve relaciones automaticamente (usa resolve=true internamente).

REST API

GET /api/entities/facturas/records?resolve=true
GET /api/entities/facturas/records/{id}?resolve=true

Sin resolve, el campo muestra solo el UUID. Con resolve, se expande al objeto completo:

Sin resolve:

{
"cliente_id": "6bd2d1db-..."
}

Con resolve:

{
"cliente_id": {
"id": "6bd2d1db-...",
"data": {
"nombre": "Juan Perez",
"email": "juan@example.com"
}
}
}

Crear registros con relaciones

Al crear un registro, pasar el UUID del registro relacionado:

create_record({
entityName: "facturas",
data: {
numero: "FAC-001",
cliente_id: "6bd2d1db-d104-4a15-977a-a759c38608a9",
fecha: "2026-02-18",
total: 1500
}
})

Relaciones en reglas de negocio

Las reglas pueden usar lookups para acceder a datos de entidades relacionadas:

{
"type": "compute",
"triggers": ["cliente_id"],
"compute": {
"cliente_nombre": {
"type": "lookup",
"entity": "clientes",
"matchField": "id",
"matchValue": "cliente_id",
"resultField": "nombre"
}
}
}
Creado con Fyso