从Template Toolkit中的结果集访问额外选定的列

时间:2010-12-28 08:33:07

标签: perl resultset dbix-class template-toolkit

my $rs = schema->resultset('Table1')->search(
   undef,
   {
      join => 'relationship_table2',
      '+select' => ['relationship_table2.fk_id','relationship_table2.order],
      '+as'     => ['fk_id', 'order'],
   }
);

模板内部(test.tt):

[% WHILE (result=rs.next) %]
table1.id    [% result.id   %] <!-- prints primary key for table1 -->
table1.name  [% result.name %] <!-- prints name of item for table1 -->
table2.order [% result.order %] <!-- doesn't work -->
table2.order [% result.relationship_table2.order %] <!-- doesn't work -->
[% END %]

我不知道如何访问传递给模板的结果集中的额外选定项目。

1 个答案:

答案 0 :(得分:4)

您需要在+as旁边使用+select选项,然后才能在模板中使用result.get_column('column_name')。您还可以在结果类中定义一个访问者,以便为您调用get_column。