Php Zend Framework: использование Zend_Db_Select для возврата объектов

В настоящее время я использую Zend_DB_Select, я хотел бы вернуть строки как объекты, чтобы я мог использовать такие методы, как save(), delete()

Функция включает в себя:

    $table = self::instance();
    $select = $table->getAdapter()->select();
    $select->from('table1');
    if($where != '')
    {
        $select->where($where);
    }
    $select->limit($count);
    $select->order('id DESC');

    $rs = $select->query()->fetchAll();

Итак, сейчас я передаю массив вместо типов объектов.


person slik    schedule 06.01.2011    source источник


Ответы (2)


Если вы хотите работать с результирующими строками как с объектами (вызывать для них save(), delete() и т. д.), вам нужно использовать Zend_Db_Table_*, а не только Zend_Db_* для ваших запросов.

Таким образом, ваш набор результатов будет представлять собой объекты Zend_Db_Table_Row (вместо массивов или объектов stdClass), и эти объекты будут иметь такие методы, как save() и delete(), которые вы можете вызывать для манипулирования и обновления отдельных строк в вашем коде.

Начните читать здесь:

http://framework.zend.com/manual/en/zend.db.table.html

person Seb Barre    schedule 06.01.2011

Попробуй это:

$rs = $select->query()->fetchAll(Zend_Db::FETCH_OBJ);

С Zend_Db::FETCH_OBJ Zend будет возвращать объекты. Все дело в режимах выборки .

person Sebastián Caraballo    schedule 20.08.2012