NodeJS 棱镜滤波

uemypmqf  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(126)

我已经申请过滤器使用棱镜按以下条件。如果ShowActiveOnly为true,则只显示哪些是活动,如果ShowActiveOnly为false,则显示所有内容。下面是我尝试过的片段。

export const getAllProducts = async (req: Request, res: Response) => {
  try {
    const page: number = Number(req.query.page) - 1 || 0;
    const perPage: number = Number(req.query.perPage) || 10;
    const showActiveOnly: boolean =
      (req.query.showActiveOnly || "true") === "true";

    const products = await _db.serviceProduct.findMany({
      where: { IsActive: showActiveOnly },
      skip: page * 10,
      take: perPage,
    });
    res.json({ products, code: 200 }).status(200);
  } catch (error) {
    HandleError(error, res);
  }
};
ercv8c1e

ercv8c1e1#

export const getAllProducts = async (req: Request, res: Response) => {
  try {
    const page: number = Number(req.params.page) - 1 || 0;
    const perPage: number = Number(req.params.perPage) || 10;
    const showActiveOnly: boolean =
      (req.query.showActiveOnly || "true") === "true";

    const products = await _db.serviceProduct.findMany({
      where: showActiveOnly ? { IsActive: true } : undefined,
      skip: page * perPage,
      take: perPage,
    });
    res.json({ products, code: 200 }).status(200);
  } catch (error) {
    HandleError(error, res);
  }
};

我们可以这样做。我在数据提取中的where子句中应用了一个条件,如果showactiveonly为true,那么我们只得到isActive true,否则where子句未定义。

相关问题