значение $ where имеет неправильную структуру - PullRequest
0 голосов
/ 05 мая 2020

Я использую запрос graphql, в котором пользователь вводит имя в текстовое поле, которое затем разделяется на firstName и lastName, а затем передается в запрос.

Запрос where обычно работает правильно с одной переменной, но в этом случае я продолжаю получать сообщение об ошибке: value of $where has a wrong structure

Этот запрос отлично работает на моей игровой площадке: ^

query{
  users(where: { firstName:"Myname", AND: {lastName:"Hello"}}){
    nodes{
      firstName,lastName,id, email, phoneNumber, userRelations{id,userId,type,relatedUserId}
    }
  }
}

И вот что я делаю в своем коде:

  const handleSubmit = React.useCallback(() => {
    let bothNames = name.split(" ");
    setFirstName(bothNames[0]);
    setLastName(bothNames[1]);
    console.log('Submitted');
    loadUsers({
      variables: {
        where: { firstName: firsttName, AND: {lastName:lasttName}},
      },
    });
    setName('');
  }, [loadUsers, name, firsttName, lasttName]);

Примерно так работает:

 where: { phoneNumber: phoneNumber },

Что я делаю не так?

1 Ответ

0 голосов
/ 05 мая 2020

Поля верхнего уровня объединяются с SQL AND. Вам нужно будет использовать like следующим образом:

query{
  users(where: { 
      firstName: {_in: ["Myname"]},
      lastName: {_in: ["Hello"]}
   }){
    nodes{
      firstName,lastName,id, email, phoneNumber, userRelations{id,userId,type,relatedUserId}
    }
  }
}
...