我想从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
有没有办法设置别名?
我有机会使用开发,登台和生产环境来生成Drupal网站.使用subversion确保代码在站点之间保持同步是一项简单的任务.不那么简单的是在安装之间传播对数据库数据(而不仅仅是模式)的更改.
任何Drupal开发人员都会熟悉这个原因.Drupal在数据库中存储某些配置设置,特别是与CCK字段,视图和其他允许使用管理界面动态设置的模块相关.简单地同步模式是不够的 - 基本信息也在数据中.
我正在寻找的是一种同步这些数据库更改的方法,以便如果一个开发人员在登台服务器上进行CCK字段更改,则可以将它们传播到本地开发环境以进行更多工作,最终传播到生产环境.
有没有一个工具可以做到这一点?在这样的项目中处理单个或多个开发人员的流程是什么?
我从以下代码中获得了所需的选项,但我需要添加一个空选项作为返回数组的第一个值,'' => 'none',然后添加其余值.
function dropdown() {
return db_select('node', 'n')
->condition('n.type', 'abc')
->condition('n.status', 1)
->fields('n', array('nid', 'title'))
->orderBy('n.title', 'ASC')
->execute()
->fetchAllKeyed();
}
Run Code Online (Sandbox Code Playgroud)
但是,这仅提供数据库中的值.