2010-12-19 2 views
1

두 테이블을 합치려고합니다. (결국 4가 될 것입니다.) 하지만 모든 결과는 첫 번째 테이블의 모든 행에 적용됩니다. 젠드 프레임 워크에 가입하십시오.

그래서이 쿼리 나에게 table1.But에서 내가 표 2 aswell에서 일부 행을 필요로하는 모든 행을 줄 것입니다 내 코드

$select = $this->select() 
        ->from('table1') 
        ->join('table2', 'table1.table2_id = table2.table2_id', array('table2.table2_value2')) 
        ->setIntegrityCheck(FALSE); 

입니다. 내가 뭘 잘못하고 있니?

나는 테스트 단계에 불과하므로 테이블 이름을 신경 쓰지 않아도됩니다. 내가 조인 문에 Zend_Db_Table_Abstract와

감사

답변

1

제 3 인수를 내 모델을 확장하고있어 당신이 두번째 테이블에서 원하는 컬럼을 나열하는 배열입니다. 그것은 모든 coulmns로 설정됩니다 지침에 따라 그것을 떠나보십시오 :

세 번째 인수가 가입() 열 이름의 배열, 즉로부터() 메소드에 을 예전처럼. "*"이 기본값이며, from() 메소드에서 열 이름 배열과 동일한 방식으로 에 상관 관계 이름, 표현식 및 Zend_Db_Expr을 지원합니다.

테이블에서 열을 선택하지 않으려면 열을 열의 목록으로 사용하십시오. 이 사용법은 from() 메서드에서도 작동하지만 일반적으로 은 기본 테이블의 일부 열을 쿼리에 사용하지만 은 연결된 테이블의 열을 원할 수 있습니다. 여전히 2 테이블에서 모든 항목을받지 않으면

, 당신은 당신이 당신이 일치하는 두번째 테이블에있는 항목이 있는지, 그래서 테이블을 하나의 테이블 2 행의 ID 및 coulmns있다 |

table1_id : 테이블의 한 테이블 두 사람은 'table2_id'

표 예를 들어 한 구조입니다 user | pass | table2_id | timestamp

표 두 구조 :

table2_id | name | number | department

관련 문제