我有这样的功能:
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
行中出现错误:
消息:尝试获取非对象的属性
我该如何解决?
答案 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;
}