1
resposta

Dúvida sobre escopos.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

  1. Qual a diferença entre ser aplicado em chamadas estáticas ao modelo e ser aplicado em instâncias do modelo?

  2. Se eu quiser "traga pessoas que tem estejam pelo menos com o status de matriculado em um curso" seria qual escopo? Seria o de modelo ou de associação?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Olá, Luidi! Tudo certo?

Vamos lá:

  1. Diferença entre escopos de modelo e de associação:

    • Escopos de modelo são aplicados em chamadas estáticas ao modelo. Isso significa que você pode definir um conjunto de condições que serão aplicadas sempre que você fizer uma chamada ao modelo usando scope. Por exemplo, Pessoa.scope('ativos').findAll() aplicaria as condições definidas no escopo 'ativos'.
    • Escopos de associação são aplicados automaticamente em instâncias do modelo. Eles são úteis quando você quer que certas condições sejam aplicadas sempre que uma associação for carregada. Por exemplo, ao definir uma associação entre Pessoa e Curso, você pode aplicar um escopo que sempre traga apenas cursos ativos.
  2. Escopo para "traga pessoas que estão pelo menos com o status de matriculado em um curso":

    • Para essa situação, você provavelmente usaria um escopo de associação. Isso porque você está interessado em filtrar pessoas com base em uma condição relacionada a outra tabela (Curso). Você definiria um escopo na associação entre Pessoa e Curso para garantir que apenas pessoas com status de "matriculado" sejam retornadas.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.