[Dbix-class] howto extend dbix::class to automatically update second table

Oleg Pronin syber.rus at gmail.com
Thu Apr 5 08:53:30 GMT 2007


You do not want to extend it in this easy case.

in your Row Class Table1:

sub insert {
    my $self =3D shift;
    $self->next::method(@_);
    $self->result_source->schema->resultset('Table3')->create({
        name =3D> $self->result_source->name,
        id       =3D> $self->id,
    });
    $self;
}

Same for Table2.

You can add relationships between 1(2) and 3 and the code in 'insert' func
will be smaller.


2007/4/5, Mario Minati <mario.minati at googlemail.com>:
>
> Hello @all,
>
> I would like to extend dbix::class in the following way:
>
> When creating a new row in one of my tables I would like to automatically
> get
> an entry in a second table.
>
> More concrete:
> Table 1 holds address data
> Table 2 holds telephone numbers
> Table 3 holds a GUID, a table name and a id
>
> When a new row is created in table 1 or 2 I would like to get a new row in
> table 3 with a new guid and the name of table 1/2 and the id of the newly
> created row in table 1/2.
>
> How and where do I have to extend DBIx::Class or create a new component?
>
> Any hints and tips are welcome.
>
> Greets,
> Mario Minati
>
> _______________________________________________
> List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
> Wiki: http://dbix-class.shadowcatsystems.co.uk/
> IRC: irc.perl.org#dbix-class
> SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
> Searchable Archive:
> http://www.mail-archive.com/dbix-class@lists.rawmode.org/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20070405/a36=
e994b/attachment.htm


More information about the Dbix-class mailing list