Как задавать SQL запросы к базе данных MySQL через Database API Drupal 7 (понятным русским языком)

Источник и место где можно взять другую годную инфу по теме:

http://xandeadx.ru/blog/drupal/88

 

SQL запрос состоит из следующего:

  1. [SELECT] Получение ключевой таблицы (пример таблица {node})
  2. [INNER JOIN] Подключение дополнительных таблиц по одному из столбцов текущей таблицы (пример таблица {field_data_field_example_1})
  3. [INNER JOIN] Можно подключить ещё одну таблицу (пример таблица {field_data_field_example_2}) (например если вы хотите получить выборку по условиям на основе нескольких полей. В Drupal одно поле - одна таблица)
  4. [WHERE] Фильтрация по любому из загруженных столбцов.

$nodes = db_query("
  SELECT n.nid, u.field_zpid_or_choid_value, f.field_typ_dvig_po_sklad_value FROM {node} n
  INNER JOIN {field_data_field_example_1} u ON n.nid = u.entity_id
  INNER JOIN {field_data_field_example_2} f ON n.nid = f.entity_id
  WHERE type = :type AND field_typ_dvig_po_sklad_value = :field_typ_dvig_po_sklad_value AND field_zpid_or_choid_value = :field_zpid_or_choid_value
  ", array(':type' => 'dvig_po_sklady', ':field_typ_dvig_po_sklad_value' => 's1a', ':field_zpid_or_choid_value' => 28231))->fetchAll();

print_r($nodes);

Связаться с автором Поддержать автора (что?)

Комментарии

Если у вас есть вопрос, критика или другое мнение - напишите в комментариях.