Как выбрать из Drupal с псевдонимом

Я хочу получить 1 столбец из таблицы в Drupal в виде двух псевдонимов. Что-то вроде этого, но с помощью методов запроса Drupal.:

SELECT name AS label, name AS value FROM node WHERE 1

Этот код Drupal не устанавливает правильный псевдоним:

$query = db_select('node', 'node');
$query->fields('node', array('label' => 'name','value' => 'name'));

Он возвращает что-то вроде: [name] => Science [node_name] => Science

Есть ли способ установить псевдоним?

Ответ 1

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

http://api.drupal.org/api/drupal/includes--database--select.inc/function/SelectQuery::fields/7

Если вам нужны псевдонимы, вам нужно использовать "addField".

http://api.drupal.org/api/drupal/includes--database--select.inc/function/SelectQuery::addField/7

$query = db_select('node', 'n');

$query->addField('n', 'name', 'label');
$query->addField('n', 'name', 'value');