DBIx::Lite::Schema
version 0.14
This class holds the very loose schema definitions that enable some advanced features of DBIx::Lite. Note that you can do all main operations, including searches and manipulations, with no need to define any schema.
An empty DBIx::Lite::Schema is created every time you create a DBIx::Lite object. Then you can access it to customize it. Otherwise, you can prepare a Schema object and reutilize it across multiple connections:
my $schema = DBIx::Lite::Schema->new; my $conn1 = DBIx::Lite->new(schema => $schema)->connect(...); my $conn2 = DBIx::Lite->new(schema => $schema)->connect(...);
The constructor takes no arguments.
This method accepts a table name and returs the DBIx::Lite::Schema::Table object corresponding to the requested table. You can then call methods on it.
$schema->table('books')->autopk('id');
This methods sets up a 1-to-N relationship between two tables. Just pass two table names to it, appending the relation key column name:
$schema->one_to_many('authors.id' => 'books.author_id');
This will have the following effects:
books
<$author-
If you supply a third argument, it will be used to set up the reverse accessor method. For example:
$schema->one_to_many('authors.id' => 'books.author_id', 'author');
will install a author accessor method in the books Result objects.
author
Note that relationships can be chained:
$dbix->schema->one_to_many('authors.id' => 'books.author_id'); $dbix->schema->one_to_many('books.id' => 'chapters.books_id'); my @chapters = $dbix ->table('authors') ->search({ country => 'IT' }) ->books ->chapters ->search({ page_count => { '>' => 20 } }) ->all;
You can use the same approach to traverse many-to-many relationships.
Alessandro Ranellucci <aar@cpan.org>
This software is copyright (c) 2012 by Alessandro Ranellucci.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install DBIx::Lite, copy and paste the appropriate command in to your terminal.
cpanm
cpanm DBIx::Lite
CPAN shell
perl -MCPAN -e shell install DBIx::Lite
For more information on module installation, please visit the detailed CPAN module installation guide.