On 6/5/07, Lee Standen <[EMAIL PROTECTED]> wrote:
It comes down to the purpose of the methods... find() is intended for searches which return only a single result, so it makes sense to return a row, rather than a resultset. search() is intended for searches which return multiple results. Last I checked, find() needs you to specify your primary keys as the search terms, which guarantees uniqueness (primary keys have to be unique, remember?). Note that primary key could be over two or tree columns :) ktnxbye. John Goulah wrote: > On 6/5/07, *Brandon Black* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > On 6/5/07, John Goulah <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > So I've noticed that search returns a "resultset" > > (MyApp::ResultSet::Tablename) and find returns a "row_object" > > (MyApp::Model::MyDB::Tablename). I suppose this makes some > > sense since search may return many rows while find is designed to > find one > > row. However it seems that its more useful to deal with the > resultset > > object, for example if I have defined my own custom resultset > functions > > within, I can reuse this returned object to call them, perhaps > even using > > some of the already populated fields as parts of the where clause > (such as a > > primary key like user_id). Maybe not the best idea, but seems > easier than > > passing the same user_id into each query. In any case, is there > any way to > > force/cast the "row_object" into a result set, or are we stuck > with only > > using search if we want a ResultSet back? > > > > If you want to find a single record, you use ->find(), if you want a > resultset which represents a single record, you use ->search({ > pk_colname => "pk_value" }); > > -- Brandon >
Ok, I appreciate the help, but rather than reiterating what I already had in the initial post as responses, how about a real answer? Anyway I found the answer myself, for anyone interested:
From DBIx::Class::Manual::Cookbook (
http://search.cpan.org/~mstrout/DBIx-Class-0.07000/lib/DBIx/Class/Manual/Cookbook.pod#Retrieving_a_row_object ) my $schema = $cd->result_source->schema; my $artist_rs = $schema->resultset('Artist'); Thanks, John
_______________________________________________ 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]/
