Php 如何在ModelCodeIgniter中从作为数组的数据库中获取数据

Php 如何在ModelCodeIgniter中从作为数组的数据库中获取数据,php,arrays,database,codeigniter,Php,Arrays,Database,Codeigniter,我想在codeigniter模型中进行如下查询: $caldata = array ( 15 => 'yes', 17 => 'no' ); 这可能吗 注意:15、17和yes、no在同一个数据库表中。您可以使用result\u array()函数,这样您就可以得到如下结果: $query = $this->db->select('id,answer')->from('users')->get(); $result = $query->r

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

$caldata = array (
   15 => 'yes',
   17 => 'no'
);
这可能吗

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

您可以使用result\u array()函数,这样您就可以得到如下结果:

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

$result = $query->result_array();

print_r($result);
在这之后,您就有了数组,您可以建立字段的
$key=>$value
关系

您可以使用result\u 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;
}

没有核心帮助函数来实现您在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;
                }

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

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