Запросы с группировкой в Drupal

DB API в drupal позволяет стоить, наверное, почти любые запросы, какие только можно составить на чистом sql. Приведенный ниже сниппет кода демонстрирует вывод публикаций, у которых отсутствуют переводы контента.

Для начала требуется получить полный список языков переводов.

Кол-во элементов массива $langcodesList — это все требуемые языки.

Теперь выберем публикации, у которых число записей в node_field_data меньше, чем требуемое число языков. Здесь понадобится группировка и условие having:

С помощью devel выведем:

Результат будет выглядеть так: по каждой ноде получим nid и кол-во языков (у меня в примере их 4, поэтому нода всего с двумя языками попала в выдачу).

Мало букафф? Читайте есчо !

Дополняем результаты views

Февраль 14, 2024 г.

Пример того, как можно дополнить результаты views в Drupal 9/10. Задача - вывести для статьи блок со связанными публикациями. В начале нужно было просто выводить последние статьи того же типа, а потом у заказчика возникло желание переопределять выдачу, ...

Читать

Ошибка: Migration is busy with another operation

Апрель 19, 2024 г.

При отладке миграций в Drupal могут возникать состояния, когда миграция не прошла по какой то причине (ошибке) и подвисла в состоянии отличном от Idle. ...

Читать

Переадресация на основной домен в Drupal

Июль 17, 2023 г.

Данный подход скорее полезен как демонстрация инструментария, чем действительно реализация редиректа на основной домен. Потому что лучше это делать средствами сервера, а не ПО, чтобы уменьшить нагрузку на сервер. Drupal 8 работает на базе симфонии, ...

Читать

Реализация блока с внедрением формы

Май 11, 2023 г.

См. основной материал для введения. В имплементации блока требуется сформировать набор переменных и передать его в шаблон. Шаблон был ранее объявлен в основном файле модуля, исходя из макета. [crayon-69042bff1cfd1027021294/] В макете присутствуют ...

Читать
 

Комментарии к «Запросы с группировкой в Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: