CodeIgniter-尝试获取非对象的属性

时间:2014-03-08 20:25:51

标签: php codeigniter

我有这样的功能:

 function getOptions() {

    $this->db->select('ID, Title');
    $this->db->where('Parent', 0);
    $options = $this->db->get('ItemCategories');
    $options_arr;

    $options_arr['#'] = '-- Please Select Option --';



    foreach ($options as $option) {
        $options_arr[$option]->ID = $option->Title;
    }

    return $options_arr;
}

foreach行中出现错误: 消息:尝试获取非对象的属性

我该如何解决?

2 个答案:

答案 0 :(得分:1)

我认为你这里有一个错字:

foreach ($options as $option) {
    $options_arr[$option]->ID = $option->Title;
}

应该是

foreach ($options as $option) {
    $options_arr[$option->ID] = $option->Title;
}

当然,请考虑@HashemQolami回答$result = $this->db->result();

答案 1 :(得分:1)

您没有获取结果。在get之后添加 - > result()。这将解决您的问题。

function getOptions() {

    $this->db->select('ID, Title');
    $this->db->where('Parent', 0);
    $options = $this->db->get('ItemCategories')->result();
    $options_arr;

    $options_arr['#'] = '-- Please Select Option --';



    foreach ($options as $option) {
        $options_arr[$option]->ID = $option->Title;
    }

    return $options_arr;
}