【问题标题】:Joining Two Tables with MY Model用我的模型连接两个表
【发布时间】:2014-02-20 17:59:37
【问题描述】:

我正在使用 Jamie Rumbelow 的 MY_model,并试图弄清楚如何通过连接从第二个表中获取单个值。我想要做的是获取所有用户并进行连接以检索 status_name,这样当我可以显示查询结果时,我就可以做

foreach ($users AS $user) {
    echo $user->status_name;
}

关于如何做到这一点的任何想法?

user_id   username    status_id    role_id
-------------------------------------------
1         testuser1   1 (active)   1 (guest)
2         testuser2   1            2 (user)
3         testuser3   1            3 (editor)
4         testuser4   1            4 (admin)

status_id   status_name
-----------------------
1           active 
2           inactive
3           suspended
4           banned
5           deleted

【问题讨论】:

    标签: php sql codeigniter


    【解决方案1】:

    试试这个

    $this->db->select('table1.user_id, table1.username, table2.status_name, table1.role_id');
    $this->db->from('table1');
    $this->db->join('table2', 'table2.status_id = table1.status_id');
    $result = $this->db->get();
    

    或者这个

    $this->load_table('table1');
    $this->load_table('table2');
    $this->model_name->related('table2', array('status_id', 'status_id'));
    
    $user=$this->model_name->get(
                array(
                  'feilds'=>array(user_id,username,status_name,role_id)
                )
                 );
    

    【讨论】:

    • 这个我知道,但是 MY_Model 有没有更简单的方法?
    • 我不认为 MY_Model 类不支持多个表和连接
    • 尝试第二个代码...我不确定,但试一试
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多