javascript - Hvordan utføre en 'like'-spørring i TypeORM


Hei folkens, jeg prøver å finne alle resultatene som har en i seg. Jeg har prøvd et par måter, men problemet er at ingenting fungerer. Det returnerer bare en tom matrise

var data = await getRepository(User)
  .createQueryBuilder("user")
  .where("user.firstName = %:name%", { name: firstName })
  .getMany();

og noe sånt

var data = await getRepository(User)
  .createQueryBuilder("user")
  .where("user.firstName like %:name%", { name: firstName })
  .getMany();

men ingenting fungerer. Alle disse gir meg en tom matrise. Kan noen hjelpe meg, takk

Svar #1

Korrekt måte er:

 var data = await getRepository(User)
                  .createQueryBuilder("user")
                  .where("user.firstName like :name", { name:`%${firstName}%` })
                  .getMany();

Svar #2

TypeORM tilbyr ut av boksen Like-funksjon. Eksempel fra deres dokumentasjon:

import {Like} from "typeorm";

const loadedPosts = await connection.getRepository(Post).find({
    title: Like("%out #%")
});

i ditt tilfelle:

var data = await getRepository(User).find({
    name: Like(`%${firstName}%`)
});

Relaterte artikler