使用codeigniter框架加入两个表

时间:2014-09-14 04:06:56

标签: mysql codeigniter join

嗨,我有这个数据库,我想加入这两个表。在我的登录模型中,我在其中添加了连接的表格代码。但我遇到了一些错误。这是下面的模型

public function login($username, $password){
    $sha_password = sha1($password);
    return $this->db->select('
                      tbl_user.user_id,
                      tbl_user.username,
                      tbl_user.email_address,
                      tbl_user.password,
                      tbl_user.account_type,
                      tbl_profile.id,
                      tbl_profile.profile_type
                      ')
            ->from('tbl_user tu')
            ->join('tbl_profile p', 'tu.account_type=p.id')
            ->where("(tu.email_address = '$username' OR tu.username = '$username')")
            ->where('password', $sha_password)
            ->get()->result_object();
    $query = $this->db->get();
    if($query->num_rows() == 1){
      return $query->result();
    }else{
      return false;
    }
  }

错误就是这样

A Database Error Occurred

Error Number: 1054

Unknown column 'tbl_user.user_id' in 'field list'

在我的表用户中我有这个字段 user_id,用户名,密码,account_type 在我的表格配置文件中我有这个字段 id,profile_type 我想加入这两个表,以便我可以获取我的表格配置文件中的数据。有人可以帮助我吗?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您已对tbl_user tu应用tbl_user引用,因此请将您的选择替换为以下内容。

$this->db->select('
                      tu.user_id,
                      tu.username,
                      tu.email_address,
                      tu.password,
                      tu.account_type,
                      p.id,
                      p.profile_type
                      ');