#!/usr/bin/perl use strict; use Data::Dumper; use ODB; my $db = ODB->load("dbi:SQLite:dbname=address.db"); my @keys = keys %{$db->person->column_names}; print "Columns: @keys\n"; my @keys = keys %{$db->address->has_a}; print "Has_a: @keys\n"; my @keys = keys %{$db->person->has_many}; print "Has_many: @keys\n"; # my @names = keys %{$db->person::}; # print "Namespace: @names\n"; my $person = $db->person->new; $person->name('joe'); print "Name: " . $person->name . "\n"; my $field = $person->name->as_html; print "Direct as_html: $field\n"; my $field = $person->name->field; my $html = $field->as_html; print "Field as_html: $html\n"; my $bob = $db->person->get_new(1); print "Name: " . $bob->name . "\n"; $bob->name('Bob'); print "Name: " . $bob->name . "\n"; $bob->update; #my $person = $db->person->new; #$person->name('Brock'); #$person->update; print "\nList of all names:\n"; my $person = $db->person->new->search; while($person->next) { print "Name: " . $person->name . "\n"; } print "\nSearching for bob:\n"; my $person = $db->person->new; $person->name('Bob'); $person->search; while($person->next) { print "Name: " . $person->name . "\n"; } print "\nSearching for like -ll:\n"; my $person = $db->person->new; #$person->name([like => '%l']); $person->name->like('%ll'); #$person->name->gt('Bob'); $person->search; while($person->next) { print "Name: " . $person->name . "\n"; } my $address = $db->address->get_new(1); print "Address: " . $address->street . ' ' . $address->city . ' ' . $address->state . ' ' . $address->zip . "\n"; my $person = $address->person; print "Name: " . $person->name . "\n"; my $person = $db->person->get_new(1); my $address = $person->addresses; $address->search( group_by => ['zip'] ); while($address->next) { print " Address: " . $address->street . ' ' . $address->city . ' ' . $address->state . ' ' . $address->zip . "\n"; print $address->street->html_input . "\n"; } print "fetch all:\n"; my $person = $db->person->get_new(1); my $addresses = $person->addresses; my @addresses = $addresses->fetch_all; #my @addresses = $person->addresses->fetch_all; foreach my $address (@addresses) { print " Address: " . $address->street . ' ' . $address->city . ' ' . $address->state . ' ' . $address->zip . "\n"; }