2009-08-19 2 views
2

나는 Zend_Table의 사용법을 알고 있으며 해당 클래스와 관련된 테이블의 Zend 함수를 사용하여 데이터를 얻을 수 있습니다. 예를 들어 나는 비디오 테이블이 다른 테이블에 내가 뭘 카테고리가에있는 비디오와 사이의 연결이Zend Php에서 모델 내의 테이블 조인

임하여 프레임 워크 내에서 다음과 같은 방법으로 활성 선택 조금 난처한 :.

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

비디오 테이블을 참조하는 비디오 모델에서이 작업을 수행하고 싶습니다.

답변

0

게시 한 내용에서 비디오 및 카테고리 용 테이블 사이에는 관계가있는 것 같습니다. 범주에는 많은 비디오가 있고 비디오는 범주에 속합니다. Zend_Db_Table 관계에서 this article을 확인해야합니다.

1

다음은 대략적인 클래스입니다. Zend db adapter를 직접 사용하기 때문에 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); 
    } 
}