试图添加到数组

时间:2011-11-15 20:23:31

标签: php codeigniter

我正在尝试在第一个查询中传递问题和问题的ID,然后使用该ID获取该轮询的选项并将其添加到数组中。没看到我在做什么冤枉在这里。

这是我得到的错误:

  

遇到PHP错误   严重性:通知
  消息:未定义属性:CI_DB_mysql_result :: $ row
  文件名:models / sitemodel.php
  行号:161

     

遇到PHP错误   严重性:通知
  消息:尝试获取非对象的属性
  文件名:models / sitemodel.php
  行号:161

代码:

function getPoll() {
    $this->db->select('site_polls.id, site_polls_questions.poll_question');
    $this->db->from('site_polls');
    $this->db->join('site_polls_questions', 'site_polls_questions.id = site_polls.site_polls_questions_id');
    $this->db->where('site_polls.status_id', 1);
    $this->db->order_by('site_polls.date_posted', 'desc');  
    $this->db->limit(1);
    $query = $this->db->get();
    $id = $query->row->id; 

    $this->db->select('site_polls_questions_options.poll_option');
    $this->db->from('site_polls_questions_options');
    $this->db->where('id', $id); 
    $query = $this->db->get();  

    return $query->result_array();
}

我正在试图弄清楚如何将轮询问题添加到数组中。

3 个答案:

答案 0 :(得分:3)

row()是一个函数而不是属性。

$id = $query->row()->id; 

$id = $query->row(0)->id; 

答案 1 :(得分:1)

$id = $query->row->id;

应该是:

$id = $query->row()->id;

$query->row()是一个函数,而不是属性。

答案 2 :(得分:1)

试试这个:

$query = $this->db->get()->first_row();
if ( !empty($query->id))
{
    $id = $query->id;
}
else
{
    return array();
}