繁体   English   中英

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

[英]How to get data from database that result as an array in model codeigniter

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

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

那有可能吗?

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

您可以使用result_array()函数,以便获得如下内容:

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

$result = $query->result_array();

print_r($result);

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

没有核心帮助程序功能可在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;
}

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

$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;
                }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM