Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使用Zend_Db选择填充空值的列别名_Mysql_Zend Framework - Fatal编程技术网

Mysql 使用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 =

是否有任何方法可以选择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 => '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数组中的键,但我确实需要一个在查询中选择它的方法