Mysql 使用Zend_Db选择填充空值的列别名
是否有任何方法可以选择NULL作为Zend_db的列。 为了清楚起见,您可以编写一个查询:Mysql 使用Zend_Db选择填充空值的列别名,mysql,zend-framework,Mysql,Zend Framework,是否有任何方法可以选择NULL作为Zend_db的列。 为了清楚起见,您可以编写一个查询: SELECT id, name, age, NULL as ssn from dummy_table; 结果将有4列id、name、age和ssn(用null填充)。在Zend_Db中有没有办法做到这一点。我的猜测是: $columns = [ 'id' => 'id', 'name' => 'name', 'age' => 'age', NULL =
SELECT id, name, age, NULL as ssn from dummy_table;
结果将有4列id、name、age和ssn(用null填充)。在Zend_Db中有没有办法做到这一点。我的猜测是:
$columns = [
'id' => 'id',
'name' => 'name',
'age' => 'age',
NULL => 'ssn'
];
$select = $this->_db->select();
$select
->from('dummy_table', $columns)
但这是行不通的,它会产生:
SELECT `dummy_table`.`id` AS `id`, `dummy_table`.`name` AS `name`, `dummy_table`.`age` AS `age`, `dummy_table`.`ssn` AS `` FROM `dummy_table`;
此查询将失败。是否有任何方法可以只使用Zend_Db($this->u Db->query('')不是选项)?您是否尝试过使用
新的Zend_Db Expr('NULL')
你可以做:
$null = new Zend_Db_Expr('NULL');
$columns = [
'id' => 'id',
'name' => 'name',
'age' => 'age',
$null => 'ssn'
];
$select = $this->_db->select();
$select
->from('dummy_table', $columns);
它忽略该列:选择
dummy_table
id
作为id
,dummy_table
作为name
,dummy_table
作为dummy_table
中的age
;使用带引号的“NULL”不起作用?比如$columns=['id'=>'id','name'=>'name','age'=>'age','NULL'=>'ssn'];选择dummy_table
id
作为id
,name
作为name
,dummy_table
作为age
作为age
,dummy_table
作为dummy_table>空
;这将起作用,但该列将命名为NULL,而不是我需要的实际别名。我想一个解决方案是替换生成的php数组中的键,但我确实需要一个在查询中选择它的方法