从Codeigniter上的多个表中检索数据

时间:2012-03-09 22:51:56

标签: php codeigniter

我正在尝试从CI上的多个表中检索数据,我一直在寻找类似的答案或示例,但没有找到一个。这是我到目前为止所做的。

这是在模型'anuncios_model.php'上检索我需要的数据的函数

public function return_all_for_id($id){
    $this->db->select('anuncios.*');
    $this->db->select('usuarios.id, usuarios.link, usuarios.nombre');
    $this->db->select('departamentos.nombre_departamento');
    $this->db->select('categorias.nombre, categorias.link');
    $this->db->select('subcategorias.nombre, subcategorias.link');
    $this->db->from('anuncios, usuarios, departamentos, categorias, subcategorias');
    $this->db->where('anuncios.id_anuncio', $id);
    $where = 'anuncios.id_cat = categorias.id AND anuncios.id_subcat = subcategorias.id AND anuncios.id_user = usuarios.id AND anuncios.id_departamento = departamentos.id_departamento';
    $this->db->where($where);
    return $result = $this->db->get();
}

因为我只是测试我的运气,这是我在我的控制器上调用的函数'anuncio.php'

public function test(){
    $data['result'] = $this->anuncios_model->return_all_for_id(1);
    $this->load->view('pages/test' ,$data);
}

我的观点'test.php'

<?php
    print_r($result);
?>

每当我运行'anuncio / test'时我都会得到:

CI_DB_mysql_result Object ( [conn_id] => Resource id #29 [result_id] => Resource id #38 [result_array] => Array ( ) [result_object] => Array ( ) [custom_result_object] => Array ( ) [current_row] => 0 [num_rows] => 1 [row_data] => )

我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

实际上,我的方法几乎是好的。而不是返回$ result = $ this-&gt; db-&gt; get()我需要返回$ result-&gt; result_array()。 $ this-&gt; db-&gt; get返回某种奇怪的对象。

答案 1 :(得分:0)

你也可以试试这个:

$query = $this->db->get();

return $query->result();