带有nodejs查询问题的Graphql Prisma
Posted
技术标签:
【中文标题】带有nodejs查询问题的Graphql Prisma【英文标题】:Graphql Prisma with nodejs query question 【发布时间】:2020-09-28 01:18:17 【问题描述】:我想写SQL查询到
SELECT
sm.menu_name
FROM
shop.menu as sm LEFT JOIN shop.shop_menu as ssm
ON
sm.idmenu = ssm.menu_id
WHERE
sm.menu_name LIKE CONCAT('%', ?, '%')
Group by
sm.menu_name
Order by rand()
下面这个怎么写?
await prisma.menu.findMany()
请帮忙!
【问题讨论】:
我们不了解您的数据模型或架构。我们需要这两样东西才能开始寻求帮助。 【参考方案1】: 不需要您的 LEFT JOIN LIKE CONCAT -> 用于 prisma 的 StringFilter 包含 contains、startsWith 和 endsWith prisma 不支持 ORDER BY rand(),您有一些选择:在代码中随机排列数组或使用 prisma.raw 进行查询。文档: https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/filtering https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access
【讨论】:
【参考方案2】:会是这样的:
prisma.menu.groupBy(
by: ['menu_name'],
having:
shop_menu :
menu_name: contains: yourVariableName
)
但正如@mazzaker 所说,您必须自己按 rand 订购:/
【讨论】:
以上是关于带有nodejs查询问题的Graphql Prisma的主要内容,如果未能解决你的问题,请参考以下文章