Проблема Zend_Db с заполнителями из строки SQL - PullRequest
0 голосов
/ 13 июля 2011

У меня есть следующий SQL

SELECT i_id AS "entity_id", "entity_1" AS "type"
FROM tbl_extensions WHERE ext = 50

, который возвращает мне результат, и дополнительный столбец "type" со значением "entity_1"

, чтобы получить то же самое с Zend_Db.пробовал:

$db->fetchAll($db->select()
                 ->from('tbl_extensions',
                         array('entity_id' => 'i_id',
                               'type' => 'entity_1'))
                    ->where('ext = ?', 50)));

Но у меня появляется следующая ошибка:

Сообщение: SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец 'tbl_extensions.type' в 'списке полей'

Похоже, что Zend пытается найти столбец вместо того, чтобы создать его в результате.

Может ли кто-нибудь помочь мне с этим?

1 Ответ

1 голос
/ 06 января 2012

самым простым решением было бы использовать Zend_Db_Expr.

$db->fetchAll($db->select()
    ->from('tbl_extensions',
        array(
            'entity_id' => 'i_id',
            new Zend_Db_Expr('"entity_1" AS "type"'),
        )
    )
    ->where('ext = ?', 50));
...