On 9/26/07, Mario Minati <[EMAIL PROTECTED]> wrote: > As I'm not an DBIC expert it's realy hard to get what happens when you dive > into it, so my brain stopped following at > $dbic->$method( [ $objects_rs->all ] ); > Are you setting multiple User objects (for where Selectbox) for the current db > row? Hi - that was for many_to_many - (see http://search.cpan.org/~ash/DBIx-Class-0.08007/lib/DBIx/Class/Relationship/Base.pm#set_$rel ), unfortunately for has_many currently there is no such convenient method, and it is also not obvious how it should work. Here is what I did for has_many:
# 'Unrelating' all the currently related records (this is a bit of hack): my $info = $dbic->result_source->relationship_info($relation); my ($self_col, $foreign_col) = %{$info->{cond}}; if ( $self_col =~ /^foreign/ ) { ( $foreign_col, $self_col ) = %{$info->{cond}}; } $foreign_col =~ s/foreign\.//; $dbic->$relation->update( { $foreign_col => undef } ); # Here we can also delete the records instead of 'unrelating them' - what is correct depends # on the application. # I'll add an option to the config for that my ($pk) = $dbic->result_source->primary_columns; $objects_rs->update( { $foreign_col => $dbic->$pk } ); # And here relating all the records that need to be related. # We could also add some efficiency to that - by not 'unrelating' all of the records - only those # that are not in @objects_rs. -- Zbigniew Lukasiak http://brudnopis.blogspot.com/ _______________________________________________ HTML-FormFu mailing list HTML-FormFu@lists.scsys.co.uk http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu