我试图从表中获取codeigniter的最大值,但它不起作用。这是我得到的错误:
严重程度:4096
消息:无法将类CI_DB_mysql_result的对象转换为 串
文件名:database / DB_active_rec.php
行号:427
这是我的功能:
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;
}
我想要做的是如下:
id
选择bedrijf_id
= $bedrijf_id
的最高rapporten
。periode_nummer
中选择statistieken_onderhoud
,其中rapporten_id
=我从步骤1获得的最高id
。periode_nummer
和return
该数字。感谢您的帮助!
答案 0 :(得分:14)
尝试
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;
}
答案 1 :(得分:1)
您不能将对象用作字符串。使用此:
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');
// fetch first row in object
$result = $query->row();
$data = $result + 1;
return $data;
}
答案 2 :(得分:1)
试试这个:
$this->db->select_max('display_sequence');
$this->db->from('acl_menu');
$query = $this->db->get();
$r=$query->result();
显示顺序是您的列名称& acl_menu是你的表名。
答案 3 :(得分:0)
我认为$query
变量持有一个mysql结果资源,它不能用作String或者在本例中是一个Integer。
您可以尝试这种方式:
$data = mysql_result($query,0) + 1;
答案 4 :(得分:0)
$this->db->select_max('id', 'max_id');
$query = $this->db->get('video_processing');
return $query->row();
尝试以上操作:
答案 5 :(得分:0)
最短:
$this->db->select_max('id', 'max_id')->get('video_processing')->row();