如何从数据库获取作为模型Codeigniter中的数组结果的数据

时间:2019-04-08 07:54:23

标签: php arrays database codeigniter

我想在codeigniter MODEL中进行如下查询:

$caldata = array (
   15 => 'yes',
   17 => 'no'
);

那有可能吗?

请注意:15,17和yes,no在同一数据库表中。

3 个答案:

答案 0 :(得分:1)

您可以使用result_array()函数,以便获得类似以下内容的东西:

$query = $this->db->select('id,answer')->from('users')->get();

$result = $query->result_array();

print_r($result);

之后,您便有了数组,可以建立字段的$key => $value关系

答案 1 :(得分:1)

没有核心帮助程序功能可在CI中实现您想要的功能。但是您可以创建自己的辅助函数:

function pluck($arr = [], $val = '', $key = '') 
{
    // val - label for value in array
    // key - label for key in array
    $result = [];
    foreach ($arr as $value) {
        if(!empty($key)){
            $result[$value[$key]] = $value[$val];    
        }else{
            $result[] = $value[$val];    
        }
    }
    return $result;
}

答案 2 :(得分:0)

经过长时间的搜索,我找到了答案。这样做的示例方法:

$query = $this->db->select('start_date, class')->from('event')->like('start_date', "$year-$month", 'after')->get();

$datavariable = $query->result();

   $caldata = array();
                foreach($datavariable as $row){
                    $caldata[substr($row->start_date,8,2)] = $row->class;
                }