Skip to content
Advertisement

select max codeigniter

Im trying to get an max value with codeigniter from an table but it isnt working. This is the error i get:

Severity: 4096

Message: Object of class CI_DB_mysql_result could not be converted to string

Filename: database/DB_active_rec.php

Line Number: 427

This is my function:

public function getPeriodeNummer($bedrijf_id) {
    $this->db->select_max('id');
    $this->db->where('bedrijf_id', $bedrijf_id);
    $result = $this->db->get('rapporten');

    $this->db->select('periode_nummer');
    $this->db->where('rapporten_id', $result);
    $query = $this->db->get('statistieken_onderhoud');

    $data = $query + 1;

    return $data;
}

What im trying to do is as followed:

  1. Select the highest id where bedrijf_id = $bedrijf_id from rapporten.
  2. Select the periode_nummer from statistieken_onderhoud where rapporten_id = the highest id i got from step 1.
  3. Add 1 to the periode_nummer i got from step 2 and return that number.

Thanks in forward for your help!

Advertisement

Answer

Try

public function getPeriodeNummer($bedrijf_id) {
    $this->db->select_max('id');
    $this->db->where('bedrijf_id', $bedrijf_id);
    $res1 = $this->db->get('rapporten');

    if ($res1->num_rows() > 0)
    {
        $res2 = $res1->result_array();
        $result = $res2[0]['id'];

        $this->db->select('periode_nummer');
        $this->db->where('rapporten_id', $result);
        $query = $this->db->get('statistieken_onderhoud');

        if ($query->num_rows() > 0)
        {
            $row = $query->result_array();
            $data['query'] = 1 + $row[0]['periode_nummer'];
        }

        return $data['query'];
    }

    return NULL;
}
User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement