2

の使用法を理解し、Zend_Tableそのクラスに関連付けられたテーブルから Zend 関数を使用してデータを取得できます。たとえば、ビデオ テーブルがあり、別のテーブルには、ビデオとそのカテゴリが関連付けられています。

フレームワーク内で次のような選択をアクティブにする方法に少し困惑しています。

SELECT * FROM video,category WHERE category.category_id = 3 AND video.id = category.video_id

ビデオテーブルを参照するビデオモデル内でこれを行いたいです。

4

2 に答える 2

1

これがラフなクラスです。Zend db アダプターを直接使用しているため、zend_db_table オブジェクトは関係を実際には認識していませんが、機能します。

class Video extends Zend_Db_Table
{
   public function doQueryWithSql($id)
   {
     $qy = " SELECT * FROM video,category WHERE category.category_id = $id AND video.id = category.video_id ";
     return $this->getAdapter()->fetchAll($qy);
   }

   public function doQueryWithObject($id)
   {
     $select = $this->getAdapter()->select();
     $select->from(array('v'=>'video'))
            ->join(array('c'=>'category'),'v.id = c.video_id')
            ->where("c.category_id = $id");
     return $this->getAdapter()->fetchAll($select);
   }
}
于 2009-08-21T02:55:27.510 に答える
0

ご投稿いただいた内容から、動画とカテゴリの表には関係があるようです。カテゴリには多くの動画があり、動画はカテゴリに属しています。Zend_Db_Table の関係に関するこの記事をチェックしてください。

于 2009-08-19T12:39:39.907 に答える