Php Zend框架:使用Zend_Db_Select返回对象

时间:2011-01-06 22:05:48

标签: php zend-framework zend-db 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();

所以现在我传递数组而不是对象类型。

2 个答案:

答案 0 :(得分:3)

如果你想对结果行作为对象进行操作(对它们调用save(),delete()等等),你需要使用Zend_Db_Table_ *而不仅仅是Zend_Db_ *来处理你的请求。

这样你的结果集将是Zend_Db_Table_Row对象(而不是数组或stdClass对象),并且这些对象具有诸如save()和delete()之类的方法,您可以调用这些方法来操作和更新代码中的各个行。

从这里开始阅读:

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

答案 1 :(得分:3)

试试这个:

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

使用Zend_Db::FETCH_OBJ,zend将返回对象。这都是关于fetch modes