转换codeigniter查询Active Record Class

时间:2014-10-10 06:50:21

标签: codeigniter

我有一个查询,我试图转换为codeigniter活动数据库记录。而不是使用长的查询行。

将此作为活动记录类的最佳方法是什么?

$query = $this->db->query("SELECT *, (SELECT ug.name FROM `" . $this->db->dbprefix . "user_group`ug 
WHERE ug.user_group_id = u.user_group_id) 
AS user_group FROM `" . 
$this->db->dbprefix . "user` u 
WHERE u.user_id = '" . (int)$user_id . "'");

return $query->row_array();

不确定是否正确

$this->db->select('ug.name');
    $this->db->from('user_group', 'ug');
    $this->db->where('ug.user_group_id', 'u.user_group_id');
    $this->db->from('user', 'u');
    $this->db->where('u.user_id', (int)$user_id);
    $query = $this->db->get();

    return $query->row_array();

1 个答案:

答案 0 :(得分:0)

最好在你的情况下使用mysql连接。

所以在Active记录中它就像:

$this->db->select('u.*, ug.name');
$this->db->from('users', u);
$this->db->join('user_group as ug', 'ug.user_group_id = u.user_group_id');
$this->db->where('u.user_id', (int)$user_id);
$query = $this->db->get();
return $query->row_array();