从CI模型方法返回单个值

时间:2011-03-08 17:23:42

标签: codeigniter

我有一个方法可以返回单个值。因为->result()返回一个数组,我使用以下命令返回我想要得到的单个值:

return array_pop($this->db->query($SQL)->result())->event_name;

虽然它工作得非常好,但我想知道CI中是否有内容可能是我在文档中遗漏的内容。我也使用同样的技巧来返回一条记录:

return array_pop($this->db->query($SQL)->result());

有更好的方法吗?

2 个答案:

答案 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'];
}