2014-06-09 2 views
0

Je voudrais utiliser un assistant de jeu de résultats DBIx, à savoir DBIx::Class::Helper::ResultSet::Random, dans mon application Catalyst.Comment utiliser une aide DBIx avec Catalyst?

La documentation du package montre comment elle est chargée à partir d'une classe DBIx::Class::ResultSet, mais pour autant que je sache, je n'en ai aucune parce que j'utilise DBIx::Class::Schema::Loader pour créer le schéma.

J'ai essayé de mettre ce __PACKAGE__->load_components('Helper::ResultSet::Random') dans mon Schema::Result, mais cela ne fonctionne pas: Impossible de localiser la méthode objet « rand » par paquet « DBIx :: Class :: ResultSet ».

Comment cela est-il censé être fait?

Répondre

5

Vous appliquez DBIC::Helper::ResultSet::Random à votre résultat (ex: vous avez déjà Schema/Result/Tbl.pm qui a été créé par DBIC::Schema::Loader).

DBIC::Helper::ResultSet::Random doit être appliqué à la classe ResultSet (pas Result).

Donc, il vous suffit de créer Schema/ResultSet/Tbl.pm comme ceci:

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

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

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

1; 
Questions connexes