[Dbix-class] update and join

RAPPAZ Francois francois.rappaz at unifr.ch
Thu Jan 22 09:38:41 GMT 2015


U:\docs\perl\dokpe_i02_dd>perl -M"DBIx::Class 9999"
DBIx::Class version 9999 required--this is only version 0.08270.



UPDATE ddusers SET id_credit = ? WHERE (  iduser IN ( SELECT * FROM ( SELECT Ref
User.iduser FROM ddrefs me  JOIN ddusers RefUser ON RefUser.iduser = me.iduser W
HERE ( RefUser.iduser = ? ) ) `_forced_double_subquery` )  ): '22', '3'

For:
$s->resultset('Ddref')->search_related_rs('RefUser',{ 'RefUser.iduser' => 3 })->update({id_credit => 22});

> -----Original Message-----
> From: Peter Rabbitson [mailto:rabbit+dbic at rabbit.us]
> Sent: jeudi, 22. janvier 2015 10:26
> To: dbix-class at lists.scsys.co.uk
> Cc: RAPPAZ Francois
> Subject: Re: [Dbix-class] update and join
> 
> On 01/22/2015 09:18 AM, RAPPAZ Francois wrote:
> > Hi Peter
> >
> > Thanks for the explanations: very clear
> >
> > I tried both
> > $s->resultset('Ddref')->search_related('RefUser')->search({
> > 'RefUser.iduser' => 3 })->update({ 'id_credit' => 22 });
> > $s->resultset('Ddref')->search_related_rs('RefUser',{
> 'RefUser.iduser'
> > => 3 })->update({id_credit => 22});
> >
> > Which silently failed. Id_credit in Ddusers is not changed. :-<
> >
> 
> That is unsettling... Can you please do the following before the above:
> 
>   $s->storage->debug(1)
> 
> And tell me what queries were executed? Also - what version of
> DBIx::Class are you running?



More information about the DBIx-Class mailing list