Добрый день.
Есть entityQuery-запрос со множеством параметров и условий, которые формируются из формы. По сути - запрос заказов-сущностей одного типа.
Задача: дополнительно посчитать сумму заказов в текущей выборке (по одному полю сущности). Метод ::entityQueryAggregate
здесь в самый раз, но как скопировать все 100500 параметров (conditions и пр.) из базового запроса, чтобы не дублировать их повторно?
То есть, все возможные решения задачи мне видятся как-то так:
1. Всё же дублировать параметры базового ::entityQuery
. Неудобно и негибко, поскольку параметры периодически добавляются при расширении функционала.
2. Получить список ID сущностей из базового ::entityQuery
в виде фильтрующего массива, далее в ::entityQueryAggregate
добавить condition('nid', $filtering_array, 'IN')
. Недостаток: манипуляция большим промежуточным массивом, где будут десятки тысяч (реально так) элементов.
3. Наконец, какой-то неизвестный мне простой способ/метод, позволяющий извлечь параметры и условия из ::entityQuery
и передать их в ::entityQueryAggregate
. О чём, собственно, и вопрос темы.
Комментарии
Вынести добавление 100500 параметров в отдельный метод, куда передаются запрос и параметры/form_state, и вызывать его поочередно для первого и второго запроса.
Кстати, да, как вариант - вполне. Спасибо за подсказку.
Однако, как-то не верится, что в API нет методов для экспорта/импорта условий запроса. С другой стороны - искал уже, ничего не нашёл.
мне тоже не удалось найти
Ну что же, видимо, на этом и остановлюсь. Помечу, что топик решён.
Однако, если кто-то что-то знает, чего не знаем мы с Андрюхой - нижайшая просьба написать!