On 10 Jan 2007, at 14:50, Octavian Rasnita wrote:

Hi,

Is it possible to insert more records using the same code and just adding a certain different field for each record?

I wanted to do something like:

my $rs = $schema->resultset("Table")->new({
# here some more fields defined
});

that's an object, not a resultset. REMEMBER THE DIFFERENCE BETWEEN RESULTSET OBJECTS AND RECORD OBJECTS!

DO NOT CONFUSE THEM LEST YE BE KILLED BY A GRUE, DEVOURED BY RABID ANTEATERS AND YOUR FIGGIN PLACED UPON A SPIKE.

foreach my $user(@users) {
$rs->user($user);
}

$rs->insert;

This code inserts just the first record corresponding to the first element of @users.

Well, given you only created one object and made one call to insert, DUH.

DBIx::Class cannot magically tell you want to do something other than you told it. It is software. If you need something that interprets half-complete requests and turns them into something sensible, you'll find it's called a consultant :)

Try

my @user_object = map { $rs->create({ %base_fields, user => $_ }) } @users;

--
Matt S Trout, Technical Director, Shadowcat Systems Ltd.
Offering custom development, consultancy and support contracts for Catalyst, DBIx::Class and BAST. Contact mst (at) shadowcatsystems.co.uk for details. + Help us build a better perl ORM: http://dbix- class.shadowcatsystems.co.uk/ +



_______________________________________________
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/[email protected]/

Reply via email to