#postgresql #graphql #hasura
#postgresql #graphql #hasura
Вопрос:
Я новичок в Postgres DB и Hasura-Graphql. Было бы хорошо, если бы кто-нибудь мог мне помочь.
Итак, есть две таблицы: Table1 с (username, email, id, table1id) и Table2 с (username, email, booksRead, visitedLocations, table2_id). Эти две таблицы не связаны (ни PK, ни FK).
Теперь вопрос в том, что я должен запросить из table1, чтобы получить uername и email, с которыми мне нужно запросить table2. Итак, есть ли в любом случае, где я могу добавить вывод одного запроса в качестве входных данных для другого запроса в одном запросе.
Также обратите внимание, что мне нужно перейти от table1 к table2 для некоторых других деталей.
Например:
query{
table1{
username,
email
}
table2(where:{username:username, email:email}){
username,
email,
visitedLocations,
booksRead
}
}
Ответ №1:
Вы должны использовать табличные отношения или пользовательские функции.
То, что вы хотите сделать, не очень понятно, но я думаю, вам следует изменить схему вашей базы данных:
- пользовательская таблица с PK
- Посещенные местоположения с отношением «один ко многим» с пользовательской таблицей
- booksRead с отношением «один ко многим» с пользовательской таблицей
Итак, запрос может быть:
query {
user {
username
email
visitedLocations {
location
}
booksRead {
book
}
}
}