12-09-2012, 13:24 Посмотрели: 2041 Добавил: bebeka

Динамические запросы к базе данных в Drupal

В Drupal(e) есть очень много запросов которые выполняются динамически, то есть их данные генерируются перед выполнением запроса, например если у нас есть массив с списком NID нод, который генерируется перед выполнением запроса.

Например:

$nids = range(1, 10);

$query = db_select(‘node’, ‘n’)
    ->fields(‘n’, array(‘title’))
    ->condition(‘n.nid’, $nids, ‘IN’)
    ->addTag(‘node_access’)
    ->execute();


Параметр $nids как мы видим генерируется перед выполнением запроса, в результате выполнения запроса мы получим массив с список заголовком нод.

Как мы видим в примере, мы не переводили массив в строку, если в запросе используется параметр IN, то нужно передавать массив, и дальше Drupal сам через функцию implode сделает из массива строку, которая нужна ему для запроса, это является очень удобной фичей.

Также, динамическими запросами называются не только запрос, который я указал выше, можно также например:

$nid = rand(1, 100);

$query = db_select(‘node’, ‘n’)
    ->fields(‘n’, array(‘title’))
    ->condition(‘n.nid’, $nid, ‘=’)
    ->addTag(‘node_access’)
    ->execute();


NID ноды в случайном порядке генерируется перед составляем запроса, по этому такой запрос можно также назвать динамическим, каждый раз при выполнении запроса будут генерироваться новый NID ноды, которую нужно загрузить.

Также если вас интересуют игровые автоматы играть бесплатно, то их найти можно в оналйн-казино "Imperia-azarta".
Рубрика записи: Оптимизация

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Юзер панель
Я тебя не знаю!
Зарегистрируйся, либо

войди под своим логином!

Fuck, я забыл свой пароль!

Восстановить данные =0
Новое на сайте
Известная социальная сеть Instagram приступила к тестированию новой...
Недавно, в приложения для Android и iOS социальной сети Twitter была...
Недавно, в Google "Мой бизнес" разработчики добавили новейший способ, как...
Недавно стало известно о том, что соцсеть Facebook по упоминанию в русских...
Недавно, представитель корпорации Google, Джон Мюллер (John Mueller)...
Голосуем

Ваша любимая CMS?


DataLife Engine
WordPress
Joomla
Drupal
LiveStreet
UCOZ
Самопис
Php+Includ
Статика