Banco de dados no Drupal 7 - Aula 8: INSERT INTO
Запросы вставки всегда должны использовать конструктор запросов. Некоторые БД требуют специальных обработчиков для LOB (Large OBject, такие как текст в MySQL) и BLOB (Binary Large OBject) полей, так что уровень абстракции необходим для индивидуальных драйверов БД для реализации подобных обработчиков.
Запросы вставки начинаются с использования функции db_insert():
Banco de dados no Drupal 7 - Aula 7: processando resultados (fetch)
Запрос выборки всегда будет возвращать результат обработки запроса как 0 или больше записей. Есть несколько путей обработать данные результата запроса, которые вы можете использовать по своему усмотрению.
Наиболее часто результаты используются в виде цикла foreach().
Banco de dados no Drupal 7 - Aula 6: alterando consultas (hook_query_alter)
Важной особенностью динамических запросов выбора является возможность других модулей изменять запросы на лету. Это позволяет другим модулям вставлять их собственные инструкции в запрос, тем самым влияя на поведение запроса или применить изменения во время выполнения запроса, например задать разграничение прав к нодам. Существуют 3 компонента изменения запроса на лету, tagging, meta data и hook_query_alter().
Banco de dados no Drupal 7 - Aula 5: Extenders (extensões)
Запросы выборки поддерживают расширения (extenders). Расширение дает возможность добавить функциональность к запросу выборки во время выполнения. Эта функциональность может быть дополнительным методом или обрабатывать поведение существующего метода.
Для этого используется в ООП паттерны (design patterns), расширения реализуют таким образом Decorator Pattern. Они прикрепляют дополнительные обязанности к динамическому объекту через предоставления гибкого альтернативного подкласса для метода расширения.
Banco de dados no Drupal 7 - Aula 4: consultas dinâmicas (SELECT)
Пожалуй мы подобрались к самой интересной части Database API Drupal: динамические запросы. Динамические запросы называются так, потому что Drupal динамически дописывает строку запроса. Все запросы вставки, обновления, удаления или слияния могут быть динамическими. Запросы выборки могут быть как динамическими, так и статическими. Тем не менее, используйте динамические запросы и для запросов выборки.
Banco de dados no Drupal 7 - Aula 3: consultas estáticas (SELECT)
Наиболее общая форма запроса в Drupal это статический запрос. Статический запрос будет передан в БД дословно. Только запрос выбора (select) может быть статический.
Только в очень простых запросах следует использовать статические запросы. Вам следует использовать динамические запросы если нужно написать сложный запрос, динамически создаваемый запрос или изменяемый после выполнения.
Простой путь выполнить статический запрос через метод запроса:
Banco de dados no Drupal 7 - Aula 2: configuração do BD
Основным средством определения соединения с БД является массив $databases в settings.php. Как подсказывает само название, $databases позволяет определить множество соединений с БД. Он также поддерживает определение множества целей. Соединение не открывается (объект соединения не создается) пока первый раз некоторый кусочек кода не выполнит запрос к БД.
Banco de dados no Drupal 7 - Aula 1: db api
Если вы писали модули для 6ой версии Drupal, то для вас не составит труда перейти на новый database API drupal 7. Новый DB API работает на основе расширения php PDO, что дает ему возможность работать на различных базах данных таких как MySQL, PostgreSQL, MSSQL и возможно Oracle. Насчет простоты сказать сложно, к новому синтаксису нужно привыкнуть, писать SQL-запросы куда привычнее.
Вот немного из того что пишут в официальной документации:
Drupal 7 - Trabalhando com BD via PHP PDO
С переходом на Drupal 7 мы переходим на новый Drupal DB abstraction layer API, который сделан на основе PDO. PDO уже давно используется в Zend framework, а так же во многих других php фреймворках. Все было так хорошо в Drupal 6 с написанием SQL-запросов, зачем нам что-то новое?
Для начала давайте разберемся, что такое PDO.
Desenvolvimento de módulos para Drupal 7
В этом разделе учебника я покажу, что Drupal это не только CMS. Мы рассмотрим из чего состоят модули Drupal, а также создадим несколько своих модулей.