Выборка определённых полей из БД Drupal
В этой заметке я покажу как сделать выборку только нужных полей из общей таблицы базы данных Собственно код:
$select = db_select ('booking_system');
$select->fields('booking_system', array('bid','object_id','username','persons','lang','phone','email','checkin','checkout','downpayment','total'));
Далее привожу пример выборки всех полей таблицы:
$result = db_select('shoutbox', NULL, array('fetch' => PDO::FETCH_ASSOC))
->fields('shoutbox')
->orderBy('created', 'DESC')
->execute();
foreach ($result as $value){
$row[] = $value['nick'];
$row[] = $value['shout'];
}
Вообще выборки в Друпале очень длинная и занимательная тема, вы можете делать выборки из таблиц, полей, по связанным таблицам как в случае с выборкой нод, группировать, сортировать итд. Далее я приведу некоторые часто используеммые мной параметры и методы.
$query->fields('n') // Выбрать всё, аналог SELECT *
$query->distinct() // Удаление дублей
$query->orderRandom(); // Рандомны порядок выборки
$query->orderBy('title', 'DESC'); // Сортировака по полу в обратном порядке
$query->groupBy('uid'); // Группировка по полю
$query->range(2, 11); // LIMIT и OFSET первый параметр сколько записей пропустить, второй сколько показать.