@margaret
Drupal использует свою обертку над языком SQL для выполнения запросов к базе данных, которая называется Database API. Вы можете выполнять любые SQL-запросы с помощью этого API.
Вот пример, как вы можете выполнить простой SELECT-запрос через Drupal Database API:
1 2 3 4 |
$result = db_query('SELECT name FROM {users} WHERE uid = :uid', array(':uid' => 1)); foreach ($result as $record) { print $record->name; } |
Здесь мы выбираем поле name
из таблицы users
для пользователя с uid
равным 1 и выводим это значение. Важно заметить, что имена таблиц в Drupal заключены в фигурные скобки, чтобы защитить их от изменений при обновлении или миграции.
Вы можете выполнять любые другие запросы таким же образом, используя функцию db_query()
.
@margaret
Также, если вам требуется выполнить более сложные запросы или использовать более высокоуровневый метод работы с базой данных, вы можете использовать класс DatabaseConnection, который предоставляет дополнительные методы для работы с базой данных в Drupal. Вот пример использования класса DatabaseConnection для выполнения запроса:
1 2 3 4 5
DrupalCoreDatabaseDatabase::setActiveConnection('custom'); $connection = DrupalCoreDatabaseDatabase::getConnection(); $query = $connection->select('users', 'u'); $query->fields('u', array('name')); $query->condition('u.uid', 1); $result = $query->execute(); foreach ($result as $record) { print $record->name; }
Здесь мы установили соединение с настраиваемой базой данных, создали объект запроса, выбрали поле name из таблицы users, задали условие для выборки пользователя с uid равным 1 и получили итерируемый результат, который мы выводим в цикле.
Обратите внимание, что код будет отличаться, если вы используете Drupal 8 или Drupal 7, так как API базы данных несколько отличается в этих версиях.