use Moose; use WordPress::DBIC::Schema; use namespace::autoclean; has 'schema' => (is => 'ro', isa => 'WordPress::DBIC::Schema', lazy => 1, builder => '_set_schema'); has 'rs' => (is => 'ro', isa => 'DBIx::Class::ResultSet', lazy => 1, builder => '_set_resultset'); has 'results' => (is => 'ro', isa => 'WordPress::DBIC::Schema::ResultSet::WpPost', lazy => 1, builder => '_set_results'); sub _set_schema { my $s = shift; my $db = $s->subdomain; my $user = $s->_db_user; my $pass = $s->_db_pass; my $schema = WordPress::DBIC::Schema->connect("dbi:mysql:database=$db", $user, $pass); return $schema; } sub _set_resultset { my $s = shift; return $s->schema->resultset('WpPost'); } sub _set_results { my $s = shift; return $s->rs->search({ post_type => 'nav_menu_item' }, { order_by => { -asc => 'id' } }); } sub dump_meta { my $s = shift; my %ids; while ( my $thing = $s->results->next ) { logd $thing->post_title; my $id = $thing->id; foreach my $meta ($thing->metas) { $ids{$id}{$meta->meta_key} = $meta->meta_value; } } $s->results->reset; logd \%ids; } sub get_title { my $s = shift; my $id = shift; my $results = $s->results->find($id); my $title = $results->post_title; if ($title) { return $title; $s->results->reset; } ############# Trying to figure out this part, does not work #################### my $post_id = $results->metas->select('_menu_item_object_id'); print $post_id . "\n"; }