我想在codeigniter MODEL中进行如下查询:
$caldata = array (
15 => 'yes',
17 => 'no'
);
那有可能吗?
请注意:15,17和yes,no在同一数据库表中。
答案 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;
}