问题是,CodeIgniter默认将返回一个StdClass对象而不是一个数组,因此,如果要使用
return $row[0];,则需要使用数组返回函数。
从CodeIgniter的文档中:
使用
result_array()
此函数以纯数组形式返回查询结果,如果不生成任何结果,则返回空数组。通常,您将在foreach循环中使用此代码,如下所示:
$query = $this->db->query("YOUR QUERY");foreach ($query->result_array() as $row){ echo $row['title']; echo $row['name']; echo $row['body'];}您可以执行以下操作:
public function getWorkDays ($id, $month){ $query = $this->db->query("SELECt count(DISTINCT day) as workDays FROM hours WHERe userid = ? AND month = ?", array($id, $month)); $row = $query->result_array(); return $row[0];}您还说过想要一个单一的结果,这样做可能会更容易:
public function getWorkDays ($id, $month){ $query = $this->db->query("SELECt count(DISTINCT day) as workDays FROM hours WHERe userid = ? AND month = ?", array($id, $month)); return $query->row_array();}编辑:
这是给您的简单回声…
public function getWorkDays ($id, $month){ $query = $this->db->query("SELECt count(DISTINCT day) as workDays FROM hours WHERe userid = ? AND month = ?", array($id, $month)); $row = $query->row_array(); return $row['workDays'];}


