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

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

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

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

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

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

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

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

Удаление неиспользуемых файлов в Drupal

Октябрь 17, 2024 г.

Особенно полезно, когда вы использовали проект как шаблон для другого сайта и надо почистить данные. Друпал хоть и показывает статистику использования файлов, но удалять файлы не позволяет из реестра /admin/content/files. Напишем небольшой скрипт, ...

Читать

Управление размерами autocomplete ui widget в Drupal

Октябрь 25, 2023 г.

Попался мне UI баг, когда autocomplete слой с результатами поиска оказывался больше по ширине, чем input элемент, к которому он был прикреплен. Не ясен был алгоритм, по которому вычислялась ширина слоя. В одних случаях это происходило корректно, ...

Читать

Настройка редиректов в Drupal

Октябрь 5, 2024 г.

Речь пойдет о модуле redirect, который, несмотря на свои простые функции, не всегда понятен редакторам сайта. После установки модуля, на сайте появляется ...

Читать

Чем заменить file_create_url в Drupal 9/10

Январь 9, 2024 г.

Функция file_create_url устаревает, начиная с версии 9.3, а в 10й версии она уже отсутствует. Документация предлагает воспользоваться реализацией интерфейса \Drupal\Core\File\FileUrlGeneratorInterface, чтобы заместить устаревающую функцию в вашем ...

Читать
 

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

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



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