Este recurso também requer que o Modo Avançado esteja ativado (alternador no canto inferior direito de Settings).
Quando Usar Muitos-para-Muitos
Use muitos-para-muitos quando ambos os lados de uma relação podem ter múltiplas conexões:| Relação | Exemplo |
|---|---|
| Pessoas ↔ Projetos | Uma pessoa trabalha em vários projetos; um projeto tem vários membros da equipe |
| Empresas ↔ Etiquetas | Uma empresa pode ter várias etiquetas; uma etiqueta pode se aplicar a várias empresas |
| Produtos ↔ Pedidos | Um produto pode estar em vários pedidos; um pedido contém vários produtos |
Como Funciona
A Twenty usa um padrão de objeto de junção para relações muitos-para-muitos. Um objeto de junção fica entre dois objetos e mantém as conexões:- Uma relação com Pessoas (muitos-para-um)
- Uma relação com Projetos (muitos-para-um)
Pré-requisitos
- Ative Relações de Junção no Lab: Vá para Settings → Updates → Lab e ative Junction Relations
- Ative o Modo Avançado: Ative o Modo Avançado no canto inferior direito da barra lateral de Settings
- Planeje seu modelo de dados:
- Quais dois objetos você está conectando?
- Qual deve ser o nome do objeto de junção?
Etapa 1: Criar o Objeto de Junção
Primeiro, crie o objeto intermediário que manterá as conexões.- Vá a Definições → Modelo de Dados
- Clique em + Novo objeto
- Dê um nome descritivo (por exemplo, “Atribuição de Projeto”, “Membro da Equipe”, “Pedido de Produto”)
- Clique em Salvar
Etapa 2: Criar Relações a partir do Objeto de Junção
Adicione campos de relação do objeto de junção para ambos os objetos que deseja conectar.Primeira Relação (Junção → Objeto A)
- Selecione seu objeto de junção em Settings → Data Model
- Clique em + Adicionar campo
- Escolha Relação como o tipo de campo
- Selecione o primeiro objeto (por exemplo, “Pessoas”)
- Defina o tipo de relação como Muitos-para-um (muitas atribuições podem se vincular a uma pessoa)
- Nomeie os campos:
- Campo na junção: por exemplo, “Pessoa”
- Campo em Pessoas: por exemplo, “Atribuições de Projeto”
- Clique em Salvar
Segunda Relação (Junção → Objeto B)
- Ainda no objeto de junção, clique em + Add Field
- Escolha Relação como o tipo de campo
- Selecione o segundo objeto (por exemplo, “Projetos”)
- Defina o tipo de relação como Muitos-para-um
- Nomeie os campos:
- Campo na junção: por exemplo, “Projeto”
- Campo em Projetos: por exemplo, “Membros da Equipe”
- Clique em Salvar
Etapa 3: Configurar a Exibição da Relação de Junção
Agora configure os objetos de origem para exibir diretamente os registros vinculados, ignorando o objeto de junção intermediário.- Vá a Definições → Modelo de Dados
- Selecione o primeiro objeto (por exemplo, “Pessoas”)
- Encontre o campo de relação apontando para o objeto de junção (por exemplo, “Atribuições de Projeto”)
- Clique para editar o campo
- Ative “Esta é uma relação com um objeto de junção”
- Selecione a Relação de destino (por exemplo, “Projeto” — o campo na junção que aponta para o outro lado)
- Clique em Salvar
- Selecione “Projetos” em Data Model
- Edite o campo de relação “Membros da Equipe”
- Ative o alternador de junção
- Selecione “Pessoa” como a relação de destino
- Salvar
Resultado
Após a configuração:- Em um registro de Pessoa, o campo “Atribuições de Projeto” exibe Projetos diretamente (não registros de atribuição)
- Em um registro de Projeto, o campo “Membros da Equipe” exibe Pessoas diretamente
Exemplo: Pessoas ↔ Projetos
Aqui está um passo a passo completo:Criar o Objeto de Junção
- Nome: Atribuição de Projeto
- Descrição: “Vincula pessoas aos projetos em que trabalham”
Adicionar Relações
-
Atribuição de Projeto → Pessoas
- Tipo: Muitos-para-um
- Campo em Atribuição: “Pessoa”
- Campo em Pessoas: “Atribuições de Projeto”
-
Atribuição de Projeto → Projetos
- Tipo: Muitos-para-um
- Campo em Atribuição: “Projeto”
- Campo em Projetos: “Membros da Equipe”
Configurar Exibição de Junção
-
No objeto Pessoas:
- Edite o campo “Atribuições de Projeto”
- Ative o alternador de junção
- Destino: “Projeto”
-
No objeto Projetos:
- Edite o campo “Membros da Equipe”
- Ative o alternador de junção
- Destino: “Pessoa”
Use
- Abra um registro de Pessoa → Veja seus Projetos diretamente
- Abra um registro de Projeto → Veja os membros da equipe diretamente
- Crie novas conexões de qualquer um dos lados
Adicionando Dados Extras às Conexões
Como o objeto de junção é um objeto real, você pode adicionar campos personalizados para armazenar informações sobre a relação:- Função: “Desenvolvedor”, “Designer”, “Gerente”
- Data de Início: Quando começaram no projeto
- Horas Alocadas: Horas semanais neste projeto
Limitações
- Importação/Exportação CSV: A importação de relações muitos-para-muitos diretamente não é suportada. Em vez disso, importe registros para o objeto de junção.
- Filtros: A filtragem por relações muitos-para-muitos pode ter opções limitadas.
Relacionados
- Campos de Relação — tipos de relação explicados
- Criar Objetos Personalizados — como criar objetos
- Criar Campos de Relação — configuração básica de relação