Recebe qualquer parâmetro como um argumento, desde que seja { chave: valor } ou matriz de { chave: valor }.
Para consultas simples:
const example = await this.examplesRepository.findBy(
{ where: { id: 123 } },
trx,
);
// Busca um onde id = 123
Para consultas compostas por mais de uma condição:
const example = await this.examplesRepository.findBy(
{ where: { id: 123, name: "example" } },
trx,
);
// Busca um onde id = 123 E name = "example"
Para consultas compostas por uma condição ou outra:
const example = await this.examplesRepository.findBy(
{
where: [
{ id: 123 },
{ name: "example" },
],
},
trx,
);
/** Busca um onde id = 123 OU name = "example"
* Você também pode usar um mapeador para tornar seu trabalho mais fácil e limpo
* Haverá uma introdução sobre eles logo abaixo da introdução de consultas padrão
*/
Além disso, ele pode ser passado como matriz de chaves de cadeia de caracteres de relações que você deseja carregar e os campos que você deseja selecionar:
const select = { name: true }
const example = await this.examplesRepository.findBy(
{
where: { id: 123 },
relations: ["relation-1", "relation-2"], // ou { "relation-1": true, "relation-2": true }
select,
},
trx,
);
// Busca um onde id = 123 e carrega as entidades das relações relation-1 e relation-2