我有一个查询,我试图转换为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();
答案 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();