Trilha Júnior Trilha

Querying ActiveRecord: where

O curso trata de filtrar registros no ActiveRecord com .where e find_by. Começa por um hash com várias chaves, em que todas as condições se juntam com AND. Ranges geram BETWEEN e arrays geram IN. O .where.not nega uma condição, e o .or junta duas relations com OR. Chamadas .where encadeadas geram o mesmo SQL de um hash único, e a relation continua preguiçosa. O find_by aceita vários atributos e devolve uma linha ou nil, enquanto o find_by! levanta ActiveRecord::RecordNotFound. Um desafio final refaz o AND em Ruby puro.

O que você vai aprender

  • ✓Combinar várias condições num hash de .where com AND
  • ✓Usar ranges e arrays para gerar BETWEEN e IN
  • ✓Negar condições com .where.not e juntar relations com .or
  • ✓Encadear chamadas .where para montar uma consulta preguiçosa em várias linhas
  • ✓Buscar um registro com find_by usando vários atributos
  • ✓Levantar ActiveRecord::RecordNotFound com find_by! quando nada bate
Prévia grátis · Aula 1 2 min de leitura

.where com várias condições de uma vez

A aula "find_by: a mesma ideia, sem o travamento" de ActiveRecord: buscando registros mostrou o formato básico. Article.find_by(title: "Nonexistent") busca por um atributo e devolve nil quando nada bate. Aquela aula deixou o resto para um curso posterior: find_by com várias condições, encadeado com…

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...