Отладка запроса SQL, получаемого в модуле views Drupal

Сложные представления (views) требуют понимания того, что в итоге получилось, какой запрос сформировался в результате магии и такой то матери в конструкторе View UI.

Итак, как получить SQL запрос, который формируется во views drupal?

В этом нам поможет hook_views_pre_execute().

Внутри реализации стоит ограничить вывод только контекстом интересующего нас представления. Это можно сделать по имени views.

Так вы получите представление о запросе, но он будет содержать вставки вроде :placeholder_1 и т.п, т.е. являться шаблоном запроса, а не готовой SQL строкой.

Как получить сразу SQL?

Подключите модуль devel. Этот сервисный модуль предоставляет множество функций для форматирования и вывода отладочной информации. Нам понадобится функция — dpq().

Теперь мы получим готовый mySQL запрос.

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

Установим контекстные фильтры в drupal views программно

Август 30, 2021 г.

Пример кода как рендерить блок views с программной установкой contextual filters. Контекстные фильтры устанавливаются методом ViewExecutable::setArguments(array $ARGS). В примере я передаю пару аргументов в качестве значений контекстных фильтров. ...

Читать

Убираем пустые категории из фильтра во views

Сентябрь 13, 2023 г.

Весьма распространённый случай, когда в качестве exposed filter используется поле, связанное с таксономией. Так вы получаете набор опций в фильтре для своего представления, которое доступно пользователю. Также весьма часто некоторые дополнительные ...

Читать

Использование entityqueue для сортировки элементов во view, основанной на Search API datasource

Апрель 3, 2024 г.

Ранее подход, который я опишу, использовался для nodequeue, сейчас с заменой плагина фунционалом entityqueue, тоже самое можно применить и для него. Проблема: Создано представление (view), где источник данных - элементы datasource Search API. ...

Читать

Пример задания значения контектного фильтра views программно

Декабрь 24, 2017 г.

Если вы практикуете вызов и рендеринг объектов views из кода, то возможно вам пригодится следующий пример задания значения контекстного фильтра напрямую из вашей программы. Программное задание значений фильтров я уже рассматривал ранее. Принцип ...

Читать
 

Комментарии к «Отладка запроса SQL, получаемого в модуле views Drupal»

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



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