我有两张桌子,book而且language; book belongs_to language通过language列来说明它所使用的语言.该language表只是language列.
我想做$book->language并获取语言字符串,而无需从language表中获取语言.有没有办法做到这一点?
我怀疑这是关于回归的背景.我应该做一些过载,说:
use overload "language_string" => sub {
my $self = shift;
return $self->language;
}, fallback => 1;
Run Code Online (Sandbox Code Playgroud)
但在那种情况下,我当然还在掌握语言.
一种解决方案是使用与列不同的名称来定义关系,例如rel_$colname.然后,DBIC生成的访问器方法对于列值和相关对象将是不同的.
如果您不想更改关系名称,则可以随时访问列值 $row->get_column('colname');