Codeigniter JOIN问题与合并表

时间:2014-08-05 17:04:38

标签: php mysql codeigniter join

我有两个表,我正在尝试获取连接结果,但这是我得到的var_dump();

  

object(CI_DB_mysql_result)#20(8){[“conn_id”] =>资源(29)的类型   (mysql link persistent)[“result_id”] =>资源(39)的类型(mysql   结果)[“result_array”] => array(0){} [“result_object”] => array(0){   } [“custom_result_object”] => array(0){} [“current_row”] => INT(0)   [ “NUM_ROWS”] => int(3)[“row_data”] => NULL}

我的表结构是

表名:乐队 字段:bands_ref,name

然后我有另一个表格,其中包含艺术家ID和乐队ID(这是我与艺术家联系的方式),我需要保持这种方式,因为艺术家可以在其他2个乐队中

表名:artist_bands 字段:artist_id,band_id

最后艺术家的表格如下:

表名:艺术家 字段:name,artist_ref

所以我在这里做的是列出艺术家所关联的所有乐队。但我认为我犯了一个我无法看到的错误。所有其他数据完全在我的编辑功能中完成,我没有得到任何关于我的视图或控制器的错误,但这是我在我的模型中所做的可能有帮助

请注意,我的变量会传递给模型,并返回艺术家表的其余部分的结果 - 它唯一的JOIN不起作用。

  

公共函数get_my_band($ artist_ref){

$this->db->select('*');
$this->db->from('bands');
$this->db->join('artist_bands','artist_bands.band_id = bands.bands_ref');
$this->db->where('artist_bands.artist_id', $artist_ref);
$query = $this->db->get();
return $query;
     

}

任何帮助和建议将不胜感激。

由于

1 个答案:

答案 0 :(得分:2)

您似乎没有运行查询。你刚陷害了它。

public function get_my_band($artist_ref) {

    $this->db->select('*');
    $this->db->from('bands');
    $this->db->join('artist_bands','artist_bands.band_id = bands.bands_ref');
    $this->db->where('artist_bands.artist_id', $artist_ref);

    return $this->db->get()->result_array();
}