2011-01-20 4 views
0

私のPostモデルはZend_Db_Table_Abstractに拡張されています。私は今私のホームページでDBからのすべての投稿を表示したいと思っています。ドキュメントには、fetchAll()fetchRowが廃止されており、Zend_Db_Selectを使用する必要があります。マニュアルを読んだことがありますが、これがZend_Db_Table_Abstractとどのように組み合わされて使用されているのか分かりません。または、インスタンスを作成して「どこからでも」クエリを書き始めるだけですか?私のモデルを使ってデータにアクセスしたいからです...zend_db_select with zend_db_table_abstract

私に何か不足していますか?

答えて

1

彼らは廃止されていない、彼らの使用は、あなたがwhere句とORDER句を渡すことができる前に、例えば、変更一つであり、それを行うための正しい方法は、選択を使用している:

public function getNewOrdersByDate() 
{ 
    $Select = $this->select(); 
    $Select->where('status=?', 'new')->order('created ASC'); 

    return $this->fetchAll($Select); 
} 
+0

つまりZend_Db_Table_Abstractには、Zend_Db_Selectオブジェクトを返すselect()メソッドがあります。このオブジェクトは、Zend_Db_Table_Abstractインスタンスが表すどのテーブルからでも選択されます。 – jah

+0

は結合できますか?私はどのようにそれが表すテーブルから選択する場合は表示されません...ありがとう! – networkprofile

+0

いいえ、その場合は、$ Select = $ this-> getAdapter() - > select()を実行し、$ this-> getAdapter() - > fetchAll($ Select)を使用します。問題は、結合を使用するとZend_Db_Table_Rowにそれ以上の列が残ることです。マニュアルには、それを使用する例、または読み取り専用オブジェクトを使用する例があります。 – Chris

関連する問題