首页 > 解决方案 > 带有nodejs查询问题的Graphql Prisma

问题描述

我想写 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({})

请帮忙!

标签: node.jsgraphqlprismaprisma-graphql

解决方案


  • 不需要您的 LEFT JOIN
  • LIKE CONCAT -> StringFilter for prisma 有 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 /原始数据库访问


推荐阅读