Работа с базой данных в Drupal: Database API и 2 способа написания запросов

Писать запросы к базе данных, используя штатные средства языка PHP, когда вы программируете на Drupal, считается очень плохим / дурным тоном (по крайней мере в подавляющем большинстве случаев). Ведь у него есть сносный Database API. Далее я приведу два абстрактных варианта написания SQL запросов с учетом этого факта: в стиле D6 и в стиле D7 - последней мажорной версии системы на тек. время.

SQL запрос:

SELECT `uid`, `hostname` FROM sessions

Т.е. из таблички sessions берем значения с двух полей - uid и hostname.

D7 (почти, как в шестерке):

$first = db_select('SELECT uid, hostname FROM {sessions}');

D7:

$second = db_select('sessions', 's');
$second->fields('s', array('uid', 'hostname'));
$second = $second->execute();

// или (но не всегда так можно писать):
$three = db_select('sessions', 's')
    ->fields('s', array('uid', 'hostname'))
    ->execute();

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

P.S. Чтобы описание не растянулось на несколько десятков строк "полотенца", я привел сниппеты для простейшего query. Читайте api.drupal.org.





© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.