Nano Hash - криптовалюты, майнинг, программирование

Как добавить условие ИЛИ в оператор graphql where?

Я не могу получить оператор WHERE, работающий с условием «ИЛИ» в Strapi через площадку graphql.

Я хотел бы вернуть все результаты, в которых поля «заголовок» ИЛИ «содержимое» содержат search_text.

Я пробовал следующее:

articles(where: { 
or: [
  {"title_contains" : "search_text"},
  {"content_contains" : "search_text"}
 ]
}) {
title
content
}

но возвращается ошибка.

ОШИБКА: "Ваши фильтры содержат поле" или ", которое не отображается ни в определении вашей модели, ни в его отношениях.

Некоторые утверждения, которые работают (но не то, что мне нужно):

where: { "title_contains" : "sometext" }

работает, но ведет себя как "И"

where: { 
"title_contains" : "search_text", 
"content_contains" : "search_text"
}

  • Привет! Эта функция недоступна в Strapi. Не могли бы вы создать запрос функции в репозитории GitHub. 04.09.2019

Ответы:


1

С июля это возможно сделать так

(where: { _or: [{ someField: "1" }, { someField2: "2" }] })
22.09.2020

2

Обходной путь здесь - создать пользовательский запрос и сделать пользовательский запрос к базе данных, который соответствует вашим потребностям.

Вот как создать собственный запрос GraphQL: https://strapi.io/documentation/3.0.0-beta.x/guides/graphql.html#example-2.

Чтобы получить доступ к модели данных, вам нужно будет использовать strapi.models.article (для модели статьи), и внутри этой переменной вы получите доступ к собственной функции Mongoose или Bookshelf. Таким образом, вы сможете запросить с помощью ИЛИ

04.09.2019
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..