in reply to Best Practice: Catalyst and DBIx::Class

Using the $c->model('Foo') syntax doesn't really get you anything over using the modules directly. If that's the only reason you're considering changing things, it's probably not worth the bother.

Replies are listed 'Best First'.
Re^2: Best Practice: Catalyst and DBIx::Class
by Your Mother (Archbishop) on May 07, 2008 at 17:28 UTC

    This is a fine way to do it but if you don't put things in your model space you likely end up instantiating the schema over and over which is annoying (to) code. Plus, while it's definitely not a best practice, it is sometimes nice to be able to do DB hacking in templates where debugging and prototyping can be faster and easier. I am not a PHP fan but it's pretty obvious why it became so popular -- having DB access in the template may be hacky but it's pretty damn useful and quick.

    [% foo = c.model("DB::Foo").search_rs() %] [% foo.count() %] foo[% foo.count() == 1 ? "" : "s" %] in the DB