2012-07-13 65 views
0

我有一个函数可以从数据库中获取单个用户,这样我就可以显示它,查看用户配置文件和其他东西。Codeigniter加入将不起作用

嗯,我希望能够为组提供一个单独的表,所以我可以添加更多,如果我想,它很简单。所以我在users表中有一个group_id字段,所以我可以做到这一点,它将加入groups表中的group id列。

那么我能成功地为我的另一个项目做到这一点,但是当我把这个功能移到这个当前项目时(我使用相同的EXACT方法在两个项目上显示配置文件),它不再有效...一直没有返回...

public function getUser($username) { 
    if (empty($username)) { 
     return false; 
    } 
    $this->ci->db->from('users'); 
    $this->ci->db->join('groups','users.group_id = groups.id'); 
    $query = $this->ci->db->where('username',$username)->get(); 

    $user = $query->row(); 

    return $user; 
} 

这是函数,有人可以帮助我,为什么它不工作?我已经在控制器,模型和库中试过了,它们都没有工作。

+0

如果你做一个'返回'测试';'而不是,它是否返回字符串? – Jeemusu 2012-07-13 03:59:43

+0

是的,如果我要评论“$ this-> ci-> db-> join('groups','users.group_id = groups.id');”它工作得很好,没有问题 – unlucky4ever 2012-07-13 04:01:38

+0

你有没有尝试类似'return print_r($ query)' – Jeemusu 2012-07-13 04:08:04

回答

2

我觉得很蠢,但无论如何,我发现这个问题。

我忘了实际添加的值到塔为该特定用户为GROUP_ID

所以在列中的GROUP_ID为0,当它需要的是至少1或更高,改变之后,它工作得很好...

感谢您的所有帮助寿,你们俩。

+0

不要感到愚蠢,这些事情发生在我们最好的:) – Jeemusu 2012-07-13 04:25:26