2017-02-09 16 views
1

저는 DBIC를 처음 접했습니다. 데이터를 데이터베이스로 가져 왔습니다. 분명히 자식 테이블의 외래 키 열에있는 모든 값이 상위 테이블에서 해당 값을 갖지 않기 때문에 테이블간에 관계를 생성 할 수 없습니다.DBIx :: Class를 관계없이 데이터베이스에서 사용할 수 있습니까?

테이블간에 조인을 할 수 있습니까? 나는 튜토리얼과 문서를 다 읽었으나이 문제를 해결하는 것은 아무것도 발견하지 못했다.

+2

DBIx :: Class의 약자는 DBIC입니다. DBIx는 DBI 확장을 포함하는 전체 CPAN 네임 스페이스입니다. –

+0

부모 테이블에 참조 된 모든 행이 포함되어 있지 않은 이유는 무엇입니까? –

+0

전적으로 확신하지 못합니다. 그것해야합니다. 데이터를 생성하지 않았고 파일에서 가져 왔습니다. 필자는 하나의 거대한 데이터베이스에 여러 데이터베이스 (매년 하나씩)를 가져 왔습니다. 나는 "ALTER TABLE'ar_disbursements_emp_off' ADD CONSTRAINT'ar_disbursements_emp_off_fk' FOREIGN KEY ('rpt_id','lm2_year)와 같이 다중 컬럼 외래 키의 일부로 사용될 수있는 각 테이블에"year "컬럼을 추가했다. ') 참조'lm_data' ('rpt_id','lm2_year') 캐스케이드 업데이트 캐스케이에' – StevieD

답변

2

DBIC 스키마에서 데이터베이스에 일치하는 제약 조건이없는 관계를 정의 할 수 있습니다. $ schema-> deploy를 사용하면 모든 외래 키 열에 대한 제약 조건이 자동으로 생성됩니다.

+0

혼란 스럽네요. 어느 열이 외래 키로되어 있어야하는지 어떻게 알 수 있습니까? – StevieD

+0

belongs_to 관계를 정의 할 때. –