http://wm-monitoring.ru/

Работа с БД в Drupal 7 - урок 4 - Динамические запросы (SELECT)

Опубликовано: 27.09.2017

Пожалуй мы подобрались к самой интересной части Database API друпала : динамические запросы . Динамические запросы называются так, потому что Друпал динамически дописывает строку запроса. Все запросы вставки, обновления, удаления или слияния могут быть динамическими. Запросы выборки могут быть как динамическими, так и статическими. Тем не менее, используйте динамические запросы и для запросов выборки.

Все динамические запросы создаются как объект-запрос, запрашиваем когда нам будет необходимо. Как и в статических запросах подавляющее большинство запросов будут использовать процедурную обертку (procedural wrapper). Все последующие параметры запроса могут быть добавлены в объект-запроса.

db_select() запросы выборки

Динамические запросы выборки начинаются с функции db_select(), например так:

<?php $query = db_select('node', 'n', $options); ?>

В этом примере "node" это таблица к которой мы обращаемся, в SQL это соответствует записи после FROM. Заметьте что это имя таблицы не оборачиваются фигурными скобками как раньше. Конструктор запросов будет автоматически оборачивать имена таблиц. Второй параметр это алиас (синоним,  alias) таблицы. Если он не представлен, то будет использовать имя таблицы. Массив $options опциональный и идентичен массиву $options в статических запросах.

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

Еще один пример db_select()

Ниже еще один относительно простой запрос выборки из таблицы пользователей. Чуть позже мы разберем различные особенности запросов выборки и более сложные выборки с применением joins (объединения).

Карта
rss