DBIx-ObjectMapper

 view release on metacpan or  search on metacpan

lib/DBIx/ObjectMapper/Metadata/Query.pm  view on Meta::CPAN


=head2 primary_key

=cut

sub primary_key { $_[0]->{primary_key} }

=head2 unique_key

=cut

sub unique_key { $_[0]->{unique_key} }

=head2 foreign_key

=cut

sub foreign_key { $_[0]->{foreign_key} }

sub column {
    my $self = shift;

    if( @_ == 1 and !ref($_[0]) ) {
        my $name = shift;
        if( exists $self->column_map->{$name} ) {
            return $self->{columns}->[ $self->column_map->{$name} - 1 ];
        }
        else {
            return;
        }
    }
    elsif( @_ == 0 ) {
        return @{$self->columns};
    }
    else {
        confess '$obj->column(Scalar|Void)';
    }
}

sub columns    { $_[0]->{columns} }
sub column_map { $_[0]->{column_map} }

sub select {
    my $self = shift;
    return $self->query_object->select( $self->_select_query_callback )
        ->column( @{ $self->columns } )
        ->from( [ $self->{query}->builder, $self->table_name ] );
}


sub count {
    my $self = shift;
    return $self->query_object->count->from(
        [ $self->{query}->builder, $self->table_name ] );
}

sub insert { confess "INSERT is not suppurt." }

sub delete { confess "DELETE is not suppurt." }

sub update { confess "UPDATE is not suppurt." }

1;



( run in 0.852 second using v1.01-cache-2.11-cpan-39bf76dae61 )