Como encontro todos os registros que possuem um valor específico de uma associação?

marcamillion

Eu tenho um propertymodelo que belongs_to :property_type.

Gostaria de criar um escopo no meu Propertymodelo que encontre todos os registros de um específico property_type.

Como encontro todos os propertyregistros com property_type.name == "Residential"?

Eu tentei o seguinte:

> Property.where('property_type.name = "Residential"').count
   (5.4ms)  SELECT COUNT(*) FROM "properties" WHERE (property_type.name = "Residential")
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  missing FROM-clause entry for table "property_type"
LINE 1: SELECT COUNT(*) FROM "properties"  WHERE (property_type.name...

Também este:

> Property.where('property_types.name = "Residential"').count
   (1.8ms)  SELECT COUNT(*) FROM "properties" WHERE (property_types.name = "Residential")
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  missing FROM-clause entry for table "property_types"
LINE 1: SELECT COUNT(*) FROM "properties"  WHERE (property_types.nam...
Pramod Shinde

Você pode usar associações para filtrar por property_type

Property.joins(:property_type).where(property_types: {name: "Residential"}).count

OU

Property.joins(:property_type).where("property_types.name = ?", "Residential").count

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Como selecionar todos os registros que não possuem um registro * específico * em uma subtabela

Usando o PostgreSQL, como encontro todos os registros que possuem a coluna jsonb preenchida?

Obtenha todos os objetos que possuem uma matriz que contém um valor específico

Como encontro todos os arquivos que possuem uma determinada extensão no Go, independentemente da profundidade?

Selecione as linhas que possuem um valor de coluna específico em todos os dados de relacionamento

Como encontrar todos os arquivos em uma pasta que não possuem um caractere específico no final de seus nomes de arquivo?

Como extrair registros que possuem uma mistura de valores em um campo específico?

Como listar todos os valores maiores que um valor específico de uma matriz em python

Selecionando um registro aleatório no SQLite de registros que possuem um valor específico para uma coluna

Como remover de um array todos os objetos que não possuem uma determinada propriedade?

Como seleciono todos os registros em um servidor vinculado que têm um valor não nulo para uma coluna específica em um banco de dados local

Como remover linhas que possuem todos os valores NaN para um valor específico em outra coluna?

Consulta Oracle: Como obtenho apenas registros que possuem uma data após a localização de um tipo de valor?

É necessário adicionar 0 à localização específica de todos os elementos que possuem um comprimento de caracteres específico

Como adicionar um valor específico para todos os registros na coleção usando agregação

Limitando a tabela à quantidade de registros que possuem valor específico em uma das colunas

Como posso excluir todos os valores que possuem uma coluna e um número de linha específicos?

Como posso extrair de um array de arrays todos os arrays que possuem o mesmo valor em seu primeiro campo?

Selecione todos os que possuem um número específico

Como encontrar elementos em uma lista de objetos personalizados que possuem um valor específico de [Flags] enum

Como somar o número de registros que possuem um determinado valor de campo de pesquisa

Consulta SQL: como selecionar registros em que todos os registros na tabela relacionada têm valor específico de atributo

SQL Como selecionar dados que possuem todos os valores acima de um valor

Como obter todos os registros que também "possuem" registros específicos com desempenho

Como consultar com base em uma associação que não possui um valor específico?

Como encontrar todos os documentos que possuem um campo correspondente dentro de uma lista incorporada

Como criar uma consulta eficiente que contará os registros por um intervalo de tempo específico?

Como remover todos os valores de uma matriz antes de um valor específico

Encontre todos os registros que têm uma contagem de uma associação maior que zero