CodeIgniter – 只返回一行?

目前,如果我正在查询数据库应该只返回一行,使用:

...query stuff... $query = $this->db->get(); $ret = $query->result(); return $ret[0]->campaign_id; 

是否有一个CodeIgniter函数返回第一行? 像$query->row();

如果只有一行,直接使用查询对象的能力甚至会更好。

例如$query->campaign_id;

你刚刚回答了你自己的问题:)你可以做这样的事情:

 $query = $this->db->get(); $ret = $query->row(); return $ret->campaign_id; 

您可以在这里阅读更多信息: http : //www.codeigniter.com/user_guide/database/results.html

这是更好的方法,因为它可以使您得到一个结果:

 $this->db->query("Your query")->row()->campaign_id; 

添加到阿利森说,你可以检查是否返回一行。

 // Query stuff ... $query = $this->db->get(); if ($query->num_rows() > 0) { $row = $query->row(); return $row->campaign_id; } return null; // or whatever value you want to return for no rows found 

为了使代码清楚,你打算获得第一行,CodeIgniter现在允许你使用:

 if ($query->num_rows() > 0) { return $query->first_row(); } 

检索第一行。

 $this->db->get()->row()->campaign_id; 

只改变两行,你正在得到你想要的。

 $query = $this->db->get(); $ret = $query->row(); return $ret->campaign_id; 

尝试一下。