一尘不染

如何在Codeigniter中加入三个表

mysql

我正在使用codeigniter框架开发一个音乐cms。我在mysql数据库中有3个表,目前我正在“相册”表和“模型,控制器”中工作。我想选择“专辑”表1并用“类别”->“
cat_id”联接“专辑”->“ cat_id”,并获取所有类别记录。

然后,我想在“ Soundtrack”->“ album_id”上加入“ Album”->“ album_id”,然后获取所有音轨记录A至Z。

请有人帮助我显示正确的codeigniter查询,如何选择和联接表,然后从3个表中获取记录?

表1- >类别

  • cat_id

  • cat_name

  • cat_title

  • 日期

表2- >相册

  • cat_id
  • album_id

  • album_title

  • album_details

表3- >原声带

  • album_id

  • track_title

  • track_url

  • 日期

阅读 219

收藏
2020-05-17

共1个答案

一尘不染

在模型中使用此代码

public function funcname($id)
{
    $this->db->select('*');
    $this->db->from('Album a'); 
    $this->db->join('Category b', 'b.cat_id=a.cat_id', 'left');
    $this->db->join('Soundtrack c', 'c.album_id=a.album_id', 'left');
    $this->db->where('c.album_id',$id);
    $this->db->order_by('c.track_title','asc');         
    $query = $this->db->get(); 
    if($query->num_rows() != 0)
    {
        return $query->result_array();
    }
    else
    {
        return false;
    }
}
2020-05-17