Directus - как показать отношения Many2Many в API

Пытаюсь вести блог в Directus. Я создал коллекцию блогов и коллекцию категорий. Я использую соединительную таблицу с отношениями «многие ко многим», чтобы связать категории с блогом. Я могу создать новую запись в блоге и выбрать категорию из коллекции категорий, а также добавить новую категорию. Но когда я звоню в API, он не показывает поле категории в моем вызове API отдыха. Я могу вызвать конечную точку категории и просмотреть список всех категорий в rest API, но в конечной точке коллекции блогов я не могу просмотреть имя связанной категории.

Я хочу просмотреть все выбранные названия категорий для каждого сообщения в блоге в моем API отдыха. И я хочу просмотреть все сообщения в блоге, когда я вызываю коллекцию категорий в своем API отдыха, указав имя категории, например projectname/items/categories/aliens/, чтобы я мог видеть все сообщения в блогах категорий пришельцев.

В настоящее время я получаю это, вызывая свою коллекцию блогов в json -

{
  "data": [
    {
      "id": 1,
      "status": "published",
      "owner": 1,
      "created_on": "2020-03-16 21:15:25",
      "blog_title": "first blog post title",
      "blog_content": "<p>sdlkjfhsdkfol8ysdmfhj sd,fh klsdhf msoiudf oihsdyfghm soreht4,7shetc,oiuh,scenclkr</p>\n<p><strong>dsfgdsfgds</strong></p>"
    }
  ]
}

Как получить название категории в остальных API?

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения


person Mayanktaker    schedule 16.03.2020    source источник


Ответы (2)


Вы пытались использовать параметр fields? Это используется для извлечения глубоко вложенных реляционных данных:

?fields=*.*.*

В этом примере звездочка является подстановочным знаком для полей_все_ на этой реляционной глубине... так что получается три уровня глубины.

https://docs.directus.io/api/query/fields.html

person RANGER    schedule 17.03.2020
comment
Привет. Спасибо за ответ. С ?fields=*.*.* я получаю название категории, но слишком много информации, которая мне вообще не нужна. Как их отфильтровать? - person Mayanktaker; 18.03.2020
comment
Вы прочитали ссылку на Документы, которую я разместил? Звездочка — это подстановочный знак (все поля), но вместо этого вы можете указать определенные поля. - person RANGER; 19.03.2020

Чтобы выбрать только реляционные данные, используйте

?поля=категория.*

Это показывает только связанное поле категории статьи блога.

person Robert    schedule 02.07.2020