Perl 从模板工具箱内的resultset访问额外的选定列

Perl 从模板工具箱内的resultset访问额外的选定列,perl,resultset,dbix-class,template-toolkit,Perl,Resultset,Dbix Class,Template Toolkit,模板内部(test.tt): [%WHILE(result=rs.next)%] 表1.id[%result.id%] 表1.name[%result.name%] 表2.order[%result.order%] 表2.order[%result.relationship\u表2.order%] [%END%] 我不知道如何访问传递到模板的resultset中的额外选定项。您需要使用+选择旁边的+as选项,然后可以使用结果。在模板中获取列(“列名称”)。您还可以在结果类中定义一个访问器来为您

模板内部(test.tt):

[%WHILE(result=rs.next)%]
表1.id[%result.id%]
表1.name[%result.name%]
表2.order[%result.order%]
表2.order[%result.relationship\u表2.order%]
[%END%]

我不知道如何访问传递到模板的resultset中的额外选定项。

您需要使用
+选择旁边的
+as
选项,然后可以使用
结果。在模板中获取列(“列名称”)
。您还可以在结果类中定义一个访问器来为您调用get_列

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