У меня есть таблицы Принципы и Теги. И между ними существует отношение «многие ко многим» ( присоединено неявно ).
Без использования prisma.raw
, как я могу выполнить следующий запрос?
SELECT p.id, p.title, p.description, p.createdAt, p.modifiedAt
FROM principle p
WHERE EXISTS (SELECT NULL
FROM _PrincipleToTag pt
WHERE pt.B IN (${tagIds.join(',')})
AND pt.A = p.id
GROUP BY pt.A
HAVING COUNT(DISTINCT pt.B) = ${tagIds.length})
Как я могу обновить этот запрос Prisma 2 так, чтобы возвращаемые принципы были только принципами, которые связаны со ВСЕМИ из предоставленных tagIds?
export const principles = ({ tagIds }) => {
const payload = {
where: {
//TODO filter based on tagIds
},
}
return db.principle.findMany(payload)
}
Документы упомяните contains
и in
и every
, но я не могу найти примеры того, что я пытаюсь сделать.
Я использую Redwood Js, Prisma 2, Apollo, GraphQL.