CodeIgniter-仅返回一行?


76

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

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

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

如果只有一行,甚至可以直接使用查询对象,甚至更好。

例如 $query->campaign_id;

Answers:




13

要补充Alisson所说的内容,您可以检查是否返回了行。

// 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

7

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

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

检索第一行。



2

如果您只需要使用codeigniter查询从数据库表中获取一条记录,则可以使用row()来完成。我们可以在codeigniter中轻松地从数据库返回一行。

$data = $this->db->get("items")->row();

1

仅更改两行,您实际上就可以得到想要的。

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

尝试一下。




-3

class receive_model扩展CI_Model {

   public function index(){

      $this->db->select('*');

      $this->db->from('donor_details');

      $this->db->order_by('donor_id','desc');

      $query=$this->db->get();

      $row=$query->row();

      return $row;
 }

}

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.