Подтвердить что ты не робот

Выбор произвольных строк с помощью Zend DB Select?

Я использую свободный интерфейс для создания объекта/запроса Zend DB Select. В рамках запроса я хотел бы выбрать произвольную строку, например "SELECT" foo "AS" типа "FROM...". foo не является столбцом, это просто строковый литерал.

Когда я выбираю произвольное число, запрос работает так, как ожидалось. Когда я меняю его на строку, Zend пытается обработать foo как столбец и выдает ошибку:

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

Я попытался обернуть строку в Zend_Db_Expr различными способами, например:

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

Это останавливает Zend от добавления имени корреляции, но по-прежнему рассматривает его как столбец:

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

Я чувствую, что, должно быть, мне не хватает чего-то очевидного. Как заставить Zend перестать рассматривать это как столбец?

4b9b3361

Ответ 1

Возможно, вы попытались:

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

Вам действительно нужно иметь котировки вокруг 'foo' в SQL.