3

こんにちは、これは非常に具体的または非常に一般的な質問です。よくわかりませんが、Zend フレームワークは初めてです。一般的には oo です。これが愚かな Q である場合は、しばらくお待ちください...

とにかく、次のようなモデルを作成したいと思います。

Read all the itmes from a table 'gifts' into a row set

for each row in the table, read from a second table which shows how many have been bought, the append this as another "field" in the returned row

return the row set, with the number bought included.

単純な Zend の例のほとんどは、モデル内で 1 つのテーブルしか使用していないように見えます。これがあまりにも一般的な質問である場合、2 つのテーブルで動作し、配列を返すモデルの例は素晴らしいでしょう!

事前に助けてくれてありがとう!

4

2 に答える 2

1

欲しいものを返す関数をギフト モデル クラスに作成することをお勧めします。おそらく次のようになります。

public function getGiftWithAdditionalField($giftId) {
  $select = $this->getAdapter()->select()
    ->from(array('g' => 'gifts'))
    ->joinLeft(array('table2' => 't2'), 'g.gift_id = t2.gift_id', array('field' => 'field'))
    ->where('g.gift_id = ?', $giftId);
  return $this->getAdapter->fetchAll($select);
}

詳細については、結合に関する Zend Frameworkのドキュメントを参照してください。

于 2009-01-07T16:54:10.157 に答える