Создание условий `или` в запросах через db API Drupal

Конструирование запросов через Drupal DB API необходимо для поддержки совместимости кода для разных источников данных.

Друпал предоставляет и более прямые средства для написания запросов вроде db_query, и никто не может запретить вам применить функционал нативных php библиотек, но использование таких подходов может потребовать переписать код программы при смене одного движка баз данных на другой.

Здесь я хотел бы показать всего лишь один элемент использования конструктора, а именно формирование OR связей между двумя и более условиями.

Рассмотрим простой запрос db_select к таблице node :

Запрос пытается выбрать статьи типа event, которые опубликованы. Оба условия связаны между собой логическим AND.

Как теперь, например, расширить список типов публикаций в условии, добавив туда ‘news’?

DB_OR

Можно воспользоваться специальным конструктором db_or().

Условия внутри этой коллекции связаны по OR. Осталось подставить это в наш прежний запрос.

Полученное условие выглядит так:

Частный случай

В рассмотренном частном случае было бы правильно использовать другую возможность.

В такой записи будет использован SQL оператор IN, что равнозначно объединению по OR для каждого отдельного значения.

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

Получить имя текущей темы по дефолту в Drupal

Январь 21, 2019 г.

Theme API к сожалению не даёт прямого метода, чтобы прочитать это значение. Как его получить? Иногда программно нужно установить, что именно видит пользователь на фронт-енд (какую тему использует движок). Необходимость возникает из-за того, ...

Читать

Программно выводим блок в Drupal

Февраль 7, 2019 г.

Если вы решили вывести блок, реализованный в каком либо модуле, программно, то следующие  примеры кода помогут вам. Используя block API Запрашиваем данные блока через API, готовим массив для последующего рендеринга: [crayon-69f187f521800152174144/] ...

Читать

Включить вывод php ошибок в drupal 7

Январь 24, 2020 г.

Drupal надстраивает собственные разрешения на вывод ошибок, потому если вам необходим вывод ошибок на этапе разработки, то важно знать как разрешить их ...

Читать

Работа со схемой данных в Drupal

Январь 17, 2019 г.

В определенный момент стандартные схемы данных Drupal вас могут перестать удовлетворять, и вы решите добавить свои таблицы в базу данных сайта. Как это ...

Читать
 

Комментарии к «Создание условий `или` в запросах через db API Drupal»

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



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