Jeff Davidson
Jeff Davidson

Reputation: 1929

Trying to add to an array

I'm trying to pass along the question AND the id of the question in the first query and then with that id get that poll's options and add those to the array. Not seeing what I'm doing wronge here.

Here's the error I am getting:

A PHP Error was encountered
Severity: Notice
Message: Undefined property: CI_DB_mysql_result::$row
Filename: models/sitemodel.php
Line Number: 161

A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: models/sitemodel.php
Line Number: 161

Code:

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();
}

I'm trying to figure out how I can add the question of the poll into the array.

Upvotes: 0

Views: 265

Answers (3)

aziz punjani
aziz punjani

Reputation: 25776

row() is a function and not a property.

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

or

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

Upvotes: 3

landons
landons

Reputation: 9547

Try this:

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

Upvotes: 1

gen_Eric
gen_Eric

Reputation: 227250

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

Should be:

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

$query->row() is a function, not a property.

Upvotes: 1

Related Questions