【问题标题】:Php Zend Framework : Using Zend_Db_Select to return objectsPHP Zend 框架:使用 Zend_Db_Select 返回对象
【发布时间】:2011-01-06 22:05:47
【问题描述】:

目前我正在使用 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();

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

【问题讨论】:

    标签: php zend-framework zend-db zend-db-select


    【解决方案1】:

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

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

    从这里开始阅读:

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

    【讨论】:

      【解决方案2】:

      试试这个:

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

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

      【讨论】:

        猜你喜欢
        • 2023-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-13
        • 2011-03-20
        • 2010-11-16
        • 1970-01-01
        相关资源
        最近更新 更多