我已经打破了编码,不幸的是在这里画了一个空白。我正在运行下面的查询,然后处理数据以过滤唯一用户ID,但由于join命令,它会提取太多信息。 我不需要“用户”提供的数据。我的查询结果中的表,只是来自链接帐户表的数据,但user.suspended_by(在用户表中)为NULL。
$this->db
->select('*')
->from('linked_accounts')
->where('primary_user_id', $primary_user_id)
->join('user', 'user.id = linked_accounts.linked_account1_user_id')
->where('user.suspended_by', NULL);
$query = $this->db->get();
return $query->result();
如何重写此查询?
答案:我解决了这个问题,通过添加
来消除不必要的信息 ->group_by('linked_account1_user_id')
这使得对数据的后处理更加快速,因为返回的数据量要小得多。
答案 0 :(得分:0)
您正在使用$this->db->select('*')
“*”用于获取连接中包含的所有表中的所有记录,在您的方案中,您使用的是“*”而不是您可以使用
$columns = array('linked_accounts.*');
$this->db->select($columns)