"Message : Undefined Variable:query " error on joining two tables codeigniter mysql php

Viewed 520

I have two tables named 'addexpense' and 'addcategory' . I have successfully joined each of the tables but on my view page the data are not viewing and an error message is passed on the screen. Please help.

This is my model

public function getExpenses(){
 $this->db->select("addexpense.exp_date, addexpense.exp_amount, addexpense.exp_note, addexpense.exp_created, addcategory.category_name");
 $this->db->from('addexpense');
 $this->db->join('addcategory', 'addcategory.category_id = addexpense.category_id');
 $query = $this->db->get();
 return $query->result();
}

This is my Controller

public function join(){
  $query = $this->base_model->getExpenses();
  //$data['result'] = null;
    if($query)
    {
        $data['query'] =  $query;
    }
  $this->load->view('listexpense', $data);
}

This is my view code

<tr>
    <td><strong>Date</strong></td>
    <td><strong>Amount</strong></td>
    <td><strong>Note</strong></td>
    <td><strong>Created</strong></td>
    <td><strong>Category Name</strong></td>
</tr> 
<?php foreach($query as $expenses){?>
<tr>
    <td><?=$expenses->exp_date;?></td>
    <td><?=$expenses->exp_amount;?></td>
    <td><?=$expenses->exp_note;?></td>
    <td><?=$expenses->exp_created;?></td>
    <td><?=$expenses->category_name;?></td>
</tr>     
<?php }?>
5 Answers
Related