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}%`)
});
