4 javascript sql typescript typeorm nestjs
是否可以使用可选参数createQueryBuilder?
例如,我有这样的代码:
let users = await this.conn
.getRepository(UserEntity)
.createQueryBuilder("user")
.where("user.firstName LIKE :search", { search: dto.search })
.getMany();
Run Code Online (Sandbox Code Playgroud)
我的可选参数是,我只想在 is 不为 null 时search启动子句,但是当他为 null 时,应该跳过此 function( ) 并转到..wheredto.searchwheregetMany
有人知道如何做到这一点吗?
小智 6
尝试这个:
let users = await this.conn.getRepository(UserEntity)
.createQueryBuilder('user')
.where(search !== null
? 'user.firstName LIKE :search'
: 'TRUE', { search: dto.search })
.getMany();
Run Code Online (Sandbox Code Playgroud)
或者另一种没有的方法where TRUE是:
let users = this.conn.getRepository(UserEntity)
.createQueryBuilder('user');
users = search !== null
? users.where('user.firstName LIKE :search',{ search: dto.search })
: users
users = await users.getMany();
Run Code Online (Sandbox Code Playgroud)
const query = this.conn
.getRepository(UserEntity)
.createQueryBuilder("user");
// Optionally add where condition
if(dto.search){
query.where("user.firstName LIKE :search", { search: dto.search })
}
// run query
let users = await query.getMany();
Run Code Online (Sandbox Code Playgroud)
请务必注意可能导致 if 语句出错的虚假值。
| 归档时间: |
|
| 查看次数: |
10903 次 |
| 最近记录: |