Многие ко многим (массив)

Поле коллекции: многие-ко-многим (массив)Community Edition+

Введение

Поддерживается использование в таблице данных поля-массива для хранения нескольких уникальных ключей целевой таблицы, что позволяет установить связь многие-ко-многим с целевой таблицей. Например, есть две сущности: статьи и теги. Одна статья может быть связана с несколькими тегами, а в таблице статей соответствующие идентификаторы записей таблицы тегов хранятся в одном поле-массиве.

:::warning{title=Внимание}

  • По возможности используйте промежуточную таблицу для создания стандартной связи многие-ко-многим, чтобы избежать использования этого типа связи.
  • Для связей многие-ко-многим, созданных с помощью полей-массивов, в настоящее время только PostgreSQL поддерживает фильтрацию данных исходной таблицы по полям целевой таблицы. Например, в приведённом выше примере можно использовать другие поля таблицы тегов, например заголовок, для фильтрации статей. :::

Настройка поля

Настройка поля «многие ко многим (массив)»

Описание параметров

Исходная коллекция

Исходная таблица, в которой находится текущее поле.

Целевая коллекция

Таблица, с которой устанавливается связь.

Внешний ключ

Поле-массив, в котором в исходной таблице хранятся значения Target key целевой таблицы.

Соответствие типов полей-массивов:

NocoBasePostgreSQLMySQLSQLite
setarrayJSONJSON

Ключ целевой таблицы

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