> For the complete documentation index, see [llms.txt](https://cross-packages.gitbook.io/cross-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cross-packages.gitbook.io/cross-api/pt-br/services/find-by.md).

# FindBy

Recebe qualquer parâmetro como um argumento, desde que seja { chave: valor } ou matriz de { chave: valor }.

Para consultas simple&#x73;**:**

```typescript
const example = await this.examplesRepository.findBy(
  { where: { id: 123 } },
  trx,
);

// Busca um onde id = 123
```

Para consultas compostas por mais de uma condiçã&#x6F;**:**

```typescript
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 outr&#x61;**:**

```typescript
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 seleciona&#x72;**:**

```typescript
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
```

***
