SV: [Dbix-class] question on syntax

Peter Sørensen maspsr at sdu.dk
Mon Feb 11 12:13:03 GMT 2008


Tankyou Nigel,

That did the job :-)

Regards

Peter

 


Med venlig hilsen

Peter Sørensen
Vid.medarb., IT-service

Tlf.    6550 2858
Fax     6550 2860
Email   maspsr at sdu.dk
Web     http://intern.sdu.dk/it-service/ansatte/ps-238/
Adr.    Campusvej 55, 5230 Odense M

SYDDANSK UNIVERSITET
_______________________________________________________________
Campusvej 55 * 5230 * Odense M * Tlf. 6550 1000 * www.sdu.dk
				
		
-----Oprindelig meddelelse-----
Fra: Nigel Metheringham [mailto:nigel.metheringham at dev.intechnology.co.uk] 
Sendt: 11. februar 2008 11:55
Til: DBIx::Class user and developer list; Peter Sørensen
Emne: Re: [Dbix-class] question on syntax


On 11 Feb 2008, at 10:31, Peter Sørensen wrote:

> DELETE FROM authorized_users WHERE ( ( ( policy = ? ) AND ( email = ?
> ) ) ): 'policy1', 'IN(user1 at xx.com,user2 at xx.com )'

That should delete the entry from authorized_users where policy = 'policy1'
AND
email = 'IN(user1 at xx.com,user2 at xx.com )' (ie literal string)

which you can probably see is not quite what you intended...

I think you want something like:-

if ( @{ $diff->deleted } ) {
     my @del_list;
     foreach my $val ( @{ $diff->deleted } ) {
         push( @del_list, $val );
     }

     my $result_set =
       $c->model('DLDB::Model::CatalystModelName::AuthorizedUsers')-
 >search(
         {
             -and => [
                 { 'policy' => $data->{policy} },
                 { 'email'  => { -in => \@del_list } }
             ]
         }
       )->delete;
}

     Nigel.
--
[ Nigel Metheringham           Nigel.Metheringham at InTechnology.co.uk ]
[ - Comments in this message are my own and not ITO opinion/policy - ]




More information about the DBIx-Class mailing list