Как выбрать из Drupal с псевдонимом - PullRequest
10 голосов
/ 04 сентября 2011

Я хочу получить 1 столбец из таблицы в Drupal как 2 псевдонима.Примерно так, но с методами запросов 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 Ответ

32 голосов
/ 04 сентября 2011

Метод '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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...