Sequenciar com NodeJS não pode ingressar em tabelas com limite
Estou tentando implementar uma consulta simples que deve ficar assim:
select * from property join entity_area on property.id=entity_area.entity_id and entity_area.area_id=1 where property.price>300000 limit 12
Bem direto: quero obter o resultado associado e depois limitar a 12.
Em Sequelize, estou usando a seguinte função:
return models.property.findAll(
{
where: ["price>=?", 300000],
include: [
{
model:models.entity_area,
where: { area_id:1 }
}
],
limit:12
})
Mas esse código gera o seguinte sql:
select property.*, entity_area.* from (select * from property where property.price>300000 limit 12) join entity_area on property.id=entity_area.entity_id and entity_area.area_id=1
Que tem uma lógica totalmente diferente do que estou tentando fazer, porque no sql gerado ele obtém primeiro 12 resultados e depois tenta se associar à entity_area. É claro que os 12 resultados aleatórios não correspondem necessariamente à entidade_area, então eu ' não estou obtendo resultados de volta.
Por favor, sugira-me uma maneira adequada de fazê-lo. A tabela de propriedades é muito grande e eu tenho que usar o "limite" em vez de obter todos os resultados e cortá-los em javascript. Também não gostaria de começar a usar consultas brutas.