Давайте рассмотрим работу поля на конкретном примере. И так у нас есть сущность Проекты и подчиненная сущность Задачи. Наша цель — в списке проектов показать список задач по каждому проекту.
Для этого в сущности Проекты создаем поле Задачи, выбираем тип «Список записей по 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 — это поля с типом Сущность.