4

我使用 Catalyst 并将结果集放入 stash 以供 TT 访问:

$c->stash->{tournament} = $c->model('DB::Tournament')->find($id);

此类与我从 TT 页面内部访问的“tournament_participant”有关系,如下所示:

[% FOREACH participant IN tournament.tournament_participants -%]

问题是,我想按这样的列对结果进行排序:

[% FOREACH participant IN tournament.tournament_participants.search( {}, { sort_by => 'position' } ) -%]

但以上不起作用(没有返回任何内容)。这可能吗?

4

1 回答 1

2

这应该可以解决问题(假设关系确实是tournament_participants(这似乎有点多余和笨拙;tournament.participants感觉更自然,如果需要的话很容易在结果类中更改)-

[% FOR participant IN tournament.search_related("tournament_participants", {}, { sort_by => 'position' } ) -%]

文档:DBIx::Class::Relationship::Base

于 2011-03-23T21:17:43.273 回答