如何在Catalyst上使用DBIx助手?

时间:2014-06-09 17:21:57

标签: perl catalyst dbix-class

我想在Catalyst应用程序中使用DBIx结果集助手,即DBIx::Class::Helper::ResultSet::Random,

包文档显示了它是如何从DBIx::Class::ResultSet类加载的,但据我所知,我没有这些,因为我使用DBIx::Class::Schema::Loader来创建模式。

我已尝试将此__PACKAGE__->load_components('Helper::ResultSet::Random')放入我的Schema::Result,但这不起作用:无法找到对象方法" rand"通过包" DBIx :: Class :: ResultSet"。

这应该怎么做?

1 个答案:

答案 0 :(得分:5)

您将DBIC::Helper::ResultSet::Random应用于您的结果类(例如,您已Schema/Result/Tbl.pm创建了DBIC::Schema::Loader

DBIC::Helper::ResultSet::Random应该应用于ResultSet(而不是Result)类。

所以,你只需要像这样创建Schema/ResultSet/Tbl.pm

package Schema::ResultSet::Tbl;
use strict;
use warnings;

use parent 'DBIx::Class::ResultSet';

__PACKAGE__->load_components('Helper::ResultSet::Random');

1;