将列添加到 select 对象 zend 框架

add column to select object zend framework

这是我当前的代码:

$Select=new Select();
$Select->from($this->getTable());

我现在想要的是添加 id column 但作为 DT_RowId 而不是 id。我该如何做到这一点?目标是拥有所有 table 列以及这个新列。

最简单的解决方案是将 columns 函数与关联数组一起使用,关联数组以别名作为键,例如:

$select=new Select();
$select->from($this->getTable());
$select->columns(array(
 'DT_RowId' => 'id',
 'furtherColumn' => 'furtherColumn',
));

如果您同时需要 "old" 和 "new" 字段,请不要忘记添加星号。

$Select=new \Zend\Db\Sql\Select();
$Select->from($this->getTable());
$Select->columns([
  '*', 
  'DT_RowId' => 'id',
  'furtherColumn' => 'furtherColumn'
]);