2012-08-09 3 views
6

나는 두 테이블, booklanguage있어; language 열이에있어 어떤 언어 진술을 가짐으로써 bookbelongs_tolanguage. language 표는 단지 ​​language 열입니다.개체가 아닌 외래 키 값을 얻으려면 어떻게해야합니까?

language 테이블에서 언어를 가져 오지 않고 $book->language하고 언어 문자열을 가져오고 싶습니다. 그렇게 할 수있는 방법이 있습니까?

나는 그것을 반환 상황에 관하여 생각한다.

use overload "language_string" => sub { 
    my $self = shift; 
    return $self->language; 
}, fallback => 1; 

을하지만,이 경우에 나는, 물론, 여전히 언어를 받고 있어요 : 나는, 과부하 어떤 종류의 작업을 수행해야들은 말한다.

답변

6

하나의 해결책은 예를 들어 열 상이한 이름의 관계를 정의하는 것이다 rel_$colname. DBIC 의해 생성 그런 접근 방식은 열 값과 관련된 객체 (들)에 대해 상이 할 것이다. 당신은 당신이 항상 $row->get_column('colname');

+1

감사와 열 값에 액세스 할 수 있습니다 관계 이름을 변경하지 않으려면

, get_column 내가 사냥 정확히 무엇을했다! – Jon

관련 문제