2012-08-09 97 views
6

我有兩個表,booklanguage; bookbelongs_tolanguage通過有一個language列說明它在哪種語言。language表只是language列。如何獲取外鍵的值而不是對象的值?

我想要做$book->language並獲取語言字符串,而不從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 2012-08-10 15:15:38

相關問題