apv wrote:
> I must say DBIC is really nice. I had problems migrating to it a few
> months ago b/c things were in flux (Schema's were just entering and
> doc-cupboard was a bit bare) so left it alone for awhile. I'm back at
> it and I was able to replace some CDBI classes in just a few minutes
> yesterday.
>
> I think I've found a problem though I might be using things wrong.
> (Within a Catalyst app) I have a table of "word"s which own
> "definition"s. Using this, I get back exactly 10 _words_ with
> definitions.
>
> $c->model("DB::word")
> ->search({
> word => { "like", "$letter\%" },
> active => "yes",
> },
> {
> rows => 10,
> order_by => "word",
> page => $page,
> }
> )
>
> But using this prefetch, I get back 10 _definitions_ with however
> many words they belong(s)_to. Too few words are returned almost every
> time.
>
> $c->model("DB::word")
> ->search({
> word => { "like", "$letter\%" },
> active => "yes",
> },
> {
> rows => 10,
> prefetch => [qw/definitions/],
> order_by => "word",
> page => $page,
> }
> )
>
> I think it should still return 10 words with however many definitions
> each owns, right? Or am I using the prefetch incorrectly? It's mysql
> if it matters.
As soon as you prefetch a has_many we've got no effective way to handle the
limit/offset as yet; "needs subselects, hopefully in 08"
--
Matt S Trout Offering custom development, consultancy and support
Technical Director contracts for Catalyst, DBIx::Class and BAST. Contact
Shadowcat Systems Ltd. mst (at) shadowcatsystems.co.uk for more information
+ 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]/