Codeigniter 要检查的活动记录列在每个字段中包含相同的值

Codeigniter 要检查的活动记录列在每个字段中包含相同的值,codeigniter,select,activerecord,Codeigniter,Select,Activerecord,在我的CodeIgniter应用程序中,我有一个名为ims\u orderdetails的表,其中包含不同的字段,但在特定情况下,相关字段是o\u id表示订单id,状态,可能包含正在进行或已完成。 我只想检查ims_orderdetails的status列是否将所有值标记为completed。 到目前为止,我的模型中有这段代码,但工作不正常 $this->db->from('ims_orderdetails'); $this->db->select('count( di

在我的CodeIgniter应用程序中,我有一个名为ims\u orderdetails的表,其中包含不同的字段,但在特定情况下,相关字段是o\u id表示订单id,状态,可能包含正在进行或已完成。 我只想检查ims_orderdetails的status列是否将所有值标记为completed。 到目前为止,我的模型中有这段代码,但工作不正常

$this->db->from('ims_orderdetails');
$this->db->select('count( distinct status)');
$this->db->where('o_id',$data); 
$result = $this->db->get();
图像:ims\u订单详细信息

我找到了我的答案,它适合我

$this->db->from('ims_orderdetails');
$this->db->select('count(*)');
$this->db->where('o_id',$data); 
$this->db->not_like('status', 'completed'); 
$result = $this->db->get();
$res = $result->row_array();
if($res['count(*)']==0){
// do something
}

谢谢你的回答。但是当我像这样使用你的代码时。$this->db->from('ims_orderdetails')$此->数据库->选择(“计数(不同状态)”$这->数据库->其中('o_id',$data)$此->数据库->其中('status','completed');//1=完成,0=进行中$result=$this->db->get();如果($result->num_rows()==1)回显“true”;//所有标记为已完成的值都回显“false”;echo$result->num_rows();在这两种情况下都为true我复制了记录,我的订单明细表包含两行,o_id 46,两行的状态都已完成,如果我将状态更改为“进行中”,则为true。它仍然为true1remove$this->db->select('count(distinct status');我认为删除此项后,它只会返回status=”的行数如果找到,则“已完成”。但不会检查是否存在除“已完成”以外的任何值
$this->db->from('ims_orderdetails');
$this->db->select('count(*)');
$this->db->where('o_id',$data); 
$this->db->not_like('status', 'completed'); 
$result = $this->db->get();
$res = $result->row_array();
if($res['count(*)']==0){
// do something
}