0

Zend_Db_Table_Abstractの拡張クラス内でフェッチモードを変更したいと思います。以下は機能しませ

<?php
class Foo extends Zend_Db_Table_Abstract
{·
  function bar()
   {
     return $this->fetchAll(Zend_Db::FETCH_NUM);
   }
}

誰かがそれを適切に行う方法を知っていますか?ありがとう!

4

2 に答える 2

2

Zend_Db_Table の fetchAll() メソッドは常に行セット (この場合は Foo 行) を返す必要があるため、列番号でデータをフェッチするだけの場合は、Zend_Db_Table を使用するのは適切ではないと思います。行は列名をオブジェクト プロパティとして使用します。

番号付きインデックスでフェッチする必要がある場合は、代わりに DB テーブルの代わりに DB アダプターを使用してみてください。

function bar() {
    $dbAdapter = $this->getAdapter();
    $dbAdapter->setFetchMode(Zend_Db::FETCH_NUM);
    return $dbAdapter->fetchAll("SELECT * FROM " . $this->_name);
}
于 2012-05-01T04:04:05.847 に答える