Fixing order by di user list

This commit is contained in:
fro1991
2025-05-30 20:12:07 +07:00
parent ca809a8642
commit 9f6e0df135

View File

@ -84,20 +84,39 @@ export class UserController {
.where(whereAttr, whereVal);
const subquery = userRepository
.createQueryBuilder()
.select("User.id")
.createQueryBuilder("User")
.select("User.id", "id")
.where(whereAttr, whereVal)
.orderBy(param.order_field, param.order_direction)
.orderBy("User." + param.order_field, param.order_direction)
.offset(offset)
.limit(param.limit);
console.log('subquery :', subquery.getQuery());
const res_list = userRepository
.createQueryBuilder()
.where(`User.id IN (${subquery.getQuery()})`)
.createQueryBuilder("User")
.innerJoin(
"(" + subquery.getQuery() + ")",
"sub",
"User.id = sub.id"
)
.setParameters(subquery.getParameters())
.leftJoinAndSelect("User.roles", "roles")
.leftJoinAndSelect("roles.application", "application");
.leftJoinAndSelect("roles.application", "application")
.orderBy("User." + param.order_field, param.order_direction);
// const subquery = userRepository
// .createQueryBuilder()
// .select("User.id")
// .where(whereAttr, whereVal)
// .orderBy("User." + param.order_field, param.order_direction)
// .offset(offset)
// .limit(param.limit);
// const res_list = userRepository
// .createQueryBuilder()
// .where(`User.id IN (${subquery.getQuery()})`)
// .setParameters(subquery.getParameters())
// .leftJoinAndSelect("User.roles", "roles")
// .leftJoinAndSelect("roles.application", "application");
// const res_list = userRepository.createQueryBuilder()
// .where(whereAttr, whereVal)
@ -107,6 +126,8 @@ export class UserController {
// .offset(offset)
// .limit(param.limit);
if (param.with_deleted) {
res_count.withDeleted();
res_list.withDeleted();