Php Zend Framework: использование Zend_Db_Select для возврата объектов - PullRequest
0 голосов
/ 07 января 2011

В настоящее время я использую 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();

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

Ответы [ 2 ]

3 голосов
/ 20 августа 2012

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

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

С Zend_Db::FETCH_OBJ, Zend вернет объекты. Это все о режимах выборки .

3 голосов
/ 07 января 2011

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

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

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

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

...