2014-09-23 2 views
0

Zend_db가있는 열로 NULL을 선택할 수있는 방법이 있습니까? 쿼리를 작성할 수 있습니다, 그것은 명확하게하려면 :Zend_Db로 NULL로 채워진 열 별칭 선택

SELECT id, name, age, NULL as ssn from dummy_table; 

결과는 4 열 ID, 이름, 나이, 사회 보장 번호 (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 -> _ db -> query ('')는 옵션이 아닙니다)만을 사용하여이 작업을 수행 할 수있는 방법이 있습니까?

답변

1

new 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); 
+0

:

당신은 할 수 dummy_table'.'age', name''AS id','dummy_table'.'name''그대로'dummy_table'.'id'을 선택 'AS' age' FROM'dummy_table'; – Susy11

+0

그리고 'NULL'을 따옴표와 함께 사용하면 작동하지 않습니까? 같은 $ 열 = [ 'ID'=> 'ID', '이름'=> '이름', '나이'=> '나이', 'NULL'=> 'SSN' ] ; –

+0

SELECT'dummy_table'.'id' AS'id','dummy_table'.name 'AS'name','dummy_table'.'age'''''''' 'dummy_table'; 이 작업을 수행 할 수 있지만 원하는 실제 별칭 대신 열의 이름이 지정됩니다. 결과 PHP 배열에서 키를 대체하는 솔루션을 것 같아요,하지만 정말 쿼리에서 선택하는 메서드를 싶었어요. – Susy11