Steven Mackenzie wrote:
> Mike Friedman wrote:
>
>> Greetings,
>>
>> I'm used to Class::DBI and very new to DBIx::Class.
>>
>>> From the docs, it seems like to execute any search, I have to
>>
>> 1. Instantiate a schema object and connect it
>> 2. Call $schema->resultset('MyTableClass')->search( ... );
>>
>> In Class::DBI, since the table classes generally inherit from the main DB
>> class, I can just call MyTableClass->search( ... ) which seems a lot
>> simpler. (And less to type.)
>>
>> Is there a similar way to achieve this simpler syntax with
>> DBIx::Class, or
>> do I have to use $schema->resultset every time?
>> Is there a recommended way to encapsulate connection parameters, so I
>> don't
>> have to call $schema->connect all over the place?
>>
>> (Note: I'm not trying to be obnoxious, I just don't really quite
>> understand
>> how DBIC is organized just yet.)
>>
>> Thanks,
>> Mike
>
> Sorry, I don't know, but I'd love to hear the answers too - can I add an
> extra (sort of related) question to the list?
>
> Why is there no accessor in the schema class for each table? Wouldn't it
> be obvious to type
> $schema->MyTableClass->search( .. )
>
> Not quite as brief as the CDBI style, but resultset('') starts to hurt
> my fingers (especially the punctuation parts of it ...)
>
> Steven
Don't always assume that table eq 'tableclass', or even schema class.
The three need not be related by name in any way.
package My::Schema::Foo;
__PACKAGE__->table('stuff');
__PACKAGE__->source_name('MyBar');
$schema->resultset('MyBar')->search;
package My::Schema::Foo2;
__PACKAGE__->table('stuff');
__PACKAGE__->add_column('evenmore');
__PACKAGE__->source_name('MyBest');
$schema->resultset('MyBest')->search;
You can use two resultsource classes against the same table(), kind of
like inherited tables.
-=Chris
signature.asc
Description: OpenPGP digital signature
_______________________________________________ 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]/
