Daje-Database-Model

 view release on metacpan or  search on metacpan

lib/Daje/Database/Model/Super/Common/Base.pm  view on Meta::CPAN

    );
    $result->{data} = {};
    $result->{data} = $load->hash if $load and $load->rows > 0;
    $result->{result} = 1;

    return $result;
};

sub load_fkey($self, $table, $select, $foreign_key_name, $foreign_key) {
    my $result->{result} = 0;
    my $load = $self->db->select(
        $table,
            $select,
        {$foreign_key_name => $foreign_key}
    );
    $result->{data} = [];
    $result->{data} = $load->hashes if $load and $load->rows > 0;
    $result->{result} = 1;
    return $result;
}

sub load_a_list($self, $table, $select, $key_value) {
    my $result->{result} = 0;
    my $load = $self->db->select(
        $table,
        $select,
        $key_value
    );
    $result->{data} = [];
    $result->{data} = $load->hashes if $load and $load->rows > 0;
    $result->{result} = 1;
    return $result;
}

sub load_a_full_list($self, $table, $select) {
    my $result->{result} = 0;
    my $load = $self->db->select(
        $table,
        $select
    );
    $result->{data} = [];
    $result->{data} = $load->hashes if $load and $load->rows > 0;
    $result->{result} = 1;
    return $result;
}

sub insert($self, $table, $data, $primary_key_name) {
    my $result->{result} = 0;
    $data = $self->insert_defaults($data);
    my $primary_key = $self->db->insert(
        $table, $data,
            { returning => $primary_key_name }
    );
    $result->{data} = {};
    $result->{data} = $primary_key->hash
        if $primary_key and $primary_key->rows > 0;
    $result->{result} = 1;
    return $result;
}

sub update($self, $table, $data, $keys) {
    my $result->{result} = 0;
    $data = $self->update_defaults($data);
    $self->db->update($table, $data, $keys);
    $result->{result} = 1;
    return $result;
}

sub delete($self, $table, $keys) {
    my $result->{result} = 0;
    $self->db->delete($table, $keys);
    $result->{result} = 1;
    return $result;
}

sub super_select($self, $table, $select, $conditions, $data ) {
    my $result->{result} = 0;

    my $stmt = qq{
        SELECT $select FROM $table WHERE $conditions
    };

    my $load = $self->db->query($stmt, $data);
    $result->{data} = [];
    $result->{data} = $load->hashes if $load and $load->rows > 0;
    $result->{result} = 1;
    return $result;
}
1;



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