SQL联接两个表?选择名称类别-CodeiGniter3

时间:2018-11-20 08:37:31

标签: php mysql codeigniter-3

我的数据库有问题。

我有3张桌子。 笔记本 b)category_notes c)域

我在“ ”表中具有domain.id。

在“ 笔记”表中,我有 domain_id notes_category_id enter image description here

在“ notes_category ”表中,我有ID,notes_category_name

enter image description here

脚本操作:保存给定域的注释。

一切正常-数据已保存并读取。

现在,我想添加一个便笺类型,我已经完成了此功能-但我显示的是便笺类型的ID,而不是其名称。

当然,我之间的亲爱关系很亲密。

控制器domains.php

public function notes($id)
    {
        $this->load->model('admin/notes_model');
        $result = $this->notes_model->get_by_domain_id($id);
        echo '{"records":' . json_encode( $result ) . '}';
    }

模型-domains_category_model.php

public function get($id = false)
{
    if ( $id == false) {

        $q = $this->db->get('notes_category');
        $q = $q->result();
    }
    else{

        $this->db->where('id', $id);
        $q = $this->db->get('notes_category');
        $q = $q->row();     
    }
    return $q;
}

控制器-notes_category.php

public function get($id = false)
    {
        $result = $this->notes_category_model->get($id);
        echo '{"records":' . json_encode( $result ) . '}';
    }

控制器-notes.php

public function get($id = false)
    {
        $result = $this->notes_model->get($id);
        echo '{"records":' . json_encode( $result ) . '}';
    }

模型-Notes_model.php

public function get( $id = false)
    {
        if ( $id == false ) {
            $q = $this->db->get('notes');
            $q = $q->result();
        }
        else{
            $this->db->where('id', $id);
            $q = $this->db->get('notes');
            $q = $q->row();
        }
        return $q;
    }


    public function get_by_domain_id($id)
    {
        $this->db->where('id_domain_rel', $id);
        $q = $this->db->get('notes');
        $q = $q->result();

        return $q;
    }

1 个答案:

答案 0 :(得分:0)

如果您希望接收的名称没有冲突,请在select中使用别名。

$this->db->select('n.* , n.id id_noted')->from('notes n')->get()->result();
$this->db->select('*, id id_noted')->from('notes')->get()->result();

我希望我明白你想做什么。