我有一个方法可以返回单个值。因为->result()
返回一个数组,我使用以下命令返回我想要得到的单个值:
return array_pop($this->db->query($SQL)->result())->event_name;
虽然它工作得非常好,但我想知道CI中是否有内容可能是我在文档中遗漏的内容。我也使用同样的技巧来返回一条记录:
return array_pop($this->db->query($SQL)->result());
有更好的方法吗?
答案 0 :(得分:11)
row_array()
会返回找到数组的第一行,row()
会将其作为对象返回。
因此,您可以使用:
而不是array_pop
return $this->db->query($SQL)->row()->event_name;
OR
return $this->db->query($SQL)->row_array();
https://www.codeigniter.com/user_guide/database/results.html
答案 1 :(得分:1)
当您执行Rocket建议的操作时,只需从该数组中选择即可获得单个值。例如,我使用此查询来获取行数:
function getNumberOfArticles() {
$result = $this->db->query("SELECT COUNT(id) AS returnVal FROM articles")->row_array();
return $result['returnVal'];
}