[Perl] Dbix::Class

Hugues hugues at max4mail.com
Mar 28 Juin 10:54:08 CEST 2016


le search ne marche pas

{
    "error" : "DBIx::Class::ResultSet::search_rs(): Odd number of arguments to search at admin.pm line 314\n",
    "exception" : "DBIx::Class::Exception"
}

my $mobile   = schema('DB')->resultset('Employe')->search( @where , { rows => 1});

ou

my $mobile   = schema('DB')->resultset('Employe')->search( \@where , { rows => 1});

erreur

Can't locate object method \"prenom\" via package \"DBIx::Class::ResultSet



le find marche,  mais ne passe qu'un seul des deux éléments du where

l'autre solution c'est :

my $mobile = schema('DB')->resultset('Employe')->find( { TEL_MOBILE =>  
$l->{'caller'}->{'number'} }, { rows => 1});
my $tel    = schema('DB')->resultset('Employe')->find( { TELEPHONE  =>  
$l->{'caller'}->{'number'} }, { rows => 1});

c'est quand même pas super... :-( pour un simple OU

Hugues.


Le 28/06/2016 à 10:43, Philippe Bruhat (BooK) a écrit :
> On Tue, Jun 28, 2016 at 10:28:49AM +0200, Hugues wrote:
>> non, il comprend pas avec \@where
>>
>> my $mobile   = schema('DB')->resultset('Employe')->find( \@where , { rows => 1});
>>
> Si, il comprend, mais il fait une erreur:
>
>> error @0.914144> request to GET /svi/status crashed:
>> DBIx::Class::ResultSource::unique_constraint_columns(): Unknown unique
>> constraint primary on 'employe' at /home/git/svi/lib/svi/admin.pm line 315
>> in /usr/local/share/perl5/Dancer/Handler.pm l. 98
> Essaye avec search() plutôt que find() (qui suppose que la requête ne peut
> renvoyer que 0 ou 1 résultat).
>

-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://listes.mongueurs.net/mailman/private/perl/attachments/20160628/f608e24f/attachment.html>


Plus d'informations sur la liste de diffusion Perl