Edu*_*uca 10 drupal drupal-database
我想从Drupal的表中获得1列作为2个别名.像这样的东西,但使用Drupal的查询方法:
SELECT name AS label, name AS value FROM node WHERE 1
Run Code Online (Sandbox Code Playgroud)
这个Drupal代码没有设置正确的别名:
$query = db_select('node', 'node');
$query->fields('node', array('label' => 'name','value' => 'name'));
Run Code Online (Sandbox Code Playgroud)
它返回如下内容: [name] => Science [node_name] => Science
有没有办法设置别名?
log*_*yth 32
'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');
Run Code Online (Sandbox Code Playgroud)