Так что я только недавно начал использовать graphql (точнее, на прошлой неделе). Я понял, что могу фильтровать запросы с аргументом 'where', и все, но я заметил, что когда я пытаюсь получить объекты из глубоко вложенного запроса, это становится несколько невозможным. Скажем, у меня есть запрос 'domestic_worker_nextofkin', который должен получить полное имя, mobile_phone1 и отношение, где 'archived' _is_null равно true, как указано ниже:
domestic_workers_nextofkin(where: {archived:{_is_null: true}}){
full_name
mobile_phone1
domestic_workers_relationships{
relationship
}
}
}
Приведенный выше запрос выполняет свою целевую работу и получает full_name, mobile_phone1 и отношения.
Но моя текущая проблема заключается в том, что когда этот запрос глубоко вложен, как показано ниже (код, отмеченный звездочкой):
query User($userId: Int) {
domestic_workers_news{
title
date_created
summary
url
}
users_user(where: {id: {_eq: $userId}}) {
domestic_workers_pictures(order_by: {id: desc}, limit: 1) {
id
}
id
password
username
first_name
last_name
email
gender
birth_date
mobile_phone1
mobile_phone2
home_address_street
home_address_town
home_address_lga
home_address_state
home_address_country
home_address_postal_code
job_title
workplace
verified
agreed_terms
date_joined
last_modified
domestic_workers_workers {
domestic_workers_pictures(order_by: {id: desc}, limit: 1) {
id
}
id
first_name
last_name
other_name
email
mobile_phone1
mobile_phone2
home_town
home_state
service
birth_date
gender
date_created
current_employer_id
domestic_workers_relationships{
id
payment
payment_currency
start_date
relationship
domestic_workers_agent {
full_name
mobile_phone1
domestic_workers_relationships{
relationship
}
domestic_workers_pictures(order_by: {id: desc}, limit: 1) {
id
}
}
**domestic_workers_nextofkin (where: {archived:{_is_null: true}}) {
full_name
mobile_phone1
domestic_workers_relationships{
relationship
}
}
}**
domestic_workers_reviews {
id
score
summary
date_created
users_user {
first_name
last_name
domestic_workers_pictures(order_by: {id: desc}, limit: 1) {
id
}
}
}
employerRelationships: domestic_workers_relationships(order_by: {id: desc}, limit: 1, where: {relationship: {_eq: "Employer"}}) {
end_date
relationship
}
}
}
}
Он показывает аргумент 'where', выделенный красным, что, возможно, означает, что аргумент «где» не следует помещать туда, что мне кажется довольно запутанным. Может кто-нибудь объяснить, почему это происходит, и показать мне обходной путь, чтобы выполнить задачу, которую я пытаюсь выполнить? Спасибо.