Как использовать тип поля «Список записей по MySQL запросу»?

Давайте рассмотрим работу поля на конкретном примере. И так у нас есть сущность Проекты и подчиненная сущность Задачи. Наша цель — в списке проектов показать список задач по каждому проекту.

Для этого в сущности Проекты создаем поле Задачи, выбираем тип «Список записей по MySql запросу» и указываем необходимое нам условие выборки данных. В опции «Шаблон заголовка» указываем, какие поля будут выводится в списке.

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

Настройка условий

В условии можно использовать пользовательские и системные поля. Рассмотрим условие из нашего примера:

e.parent_item_id=[id]

e.parent_item_id — это ID родительской записи в сущности Задачи.
[id] — это ID текущей сущности (Проекты).

Системные поля

e.id — идентификатор записи
e.parent_item_id — идентификатор родительской записи
e.date_added — дата добавления записи (Unix Timestamp)
e.created_by — идентификатор пользователя создавшего запись

Выберем задачи с определенным статусом:

[50] IN (10,20,30)

50 — это ID поля Статус. 10,20,30 — это ID статусов. Таким образом, для выбора всех подчиненных задач с определенным статусом, нам нужно составить следующее условие:

e.parent_item_id=[id] and [50] IN (10,20,30)

В условии так же можно применить и вложенные запросы, например:

[255] in (select id from app_entity_45 where field_88 in (40,50,60))

255 — это поля с типом Сущность.

Ваш вопрос решен?

Похожие статьи