2010-05-03 3 views
11

유창한 인터페이스를 사용하여 Zend DB Select 객체/쿼리를 만듭니다. 쿼리의 일부로 "SELECT 'foo'AS 'type'FROM ... '과 같은 임의의 문자열을 선택하고 싶습니다. foo는 컬럼이 아니며 문자열 리터럴 일뿐입니다.젠드 DB에서 임의의 문자열 선택하기?

임의의 숫자를 선택하면 쿼리가 예상대로 작동합니다. 내가 문자열로 변경하면, 젠드는 열로 foo는 치료를 위해 시도하고 오류가 발생합니다 :

$select->columns(array('type' => new Zend_Db_Expr('foo'))); 

: 나는 다음과 같은 다양한 방법으로 Zend_Db_Expr 문자열을 포장 시도

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'l.foo' in 'field list' 

Zend가 상관 관계 이름을 추가하는 것을 멈추지 만 여전히 열로 취급합니다 :

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'foo' in 'field list' 

나는 여기서 명백한 것을 놓치고 있어야 할 것 같은 기분입니다. Zend에게 이것을 이것을 컬럼으로 취급하지 말라고 어떻게 말합니까?

답변

11

당신은 아마도 시도해 봤어 :

$select->columns(array('type' => new Zend_Db_Expr("'foo'"))); 

당신은 실제로뿐만 아니라 SQL에 'foo' 따옴표가 필요합니다.

+0

그게 전부입니다. 감사! – wizzard

관련 문제