[Dbix-class] search vs. find

Brandon Black blblack at gmail.com
Wed Jun 6 02:30:58 GMT 2007


On 6/5/07, John Goulah <jgoulah at gmail.com> 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



More information about the Dbix-class mailing list