アクティブなレコードを使用したクエリがあります。
_$this->db->select('reg.users_id,reg.registration_id,reg.device_type');
$this->db->join('users as usr','usr.users_id = reg.users_id','left');
$this->db->where('usr.users_status',1);
$this->db->where('reg.users_id',91);
$query = $this->db->get('users_gcm_registration as reg');
_
DISTINCT(registration_id)
を取得したい。
どうやってやるの?
Distinctを次のように使用できます
$this->db->distinct('reg.registration_id');
$this->db->select('reg.users_id,reg.device_type');
....
しかし、group_by
$this->db->select('reg.users_id,reg.registration_id,reg.device_type');
$this->db->join('users as usr','usr.users_id = reg.users_id','left');
$this->db->where('usr.users_status',1);
$this->db->where('reg.users_id',91);
$this->db->group_by('reg.registration_id');// add group_by
$query = $this->db->get('users_gcm_registration as reg');
$this->db->distinct();
を使用するだけです。値を区別します...
それがあなたのためにうまくいくことを願っています...
これを埋めるには2つの方法があります
Codeigniter way
アクティブレコードクエリで$this->db->distinct()
を使用できます。
$this->db->distinct();
$this->db->get('table_name');
...
SQLの方法で
$query = $this->db->query("SELECT DISTINCT * FROM table_name ...");
$result = $query->result_array();
return $result;
$this->db->select('reg.users_id,DISTINCT(reg.registration_id),reg.device_type');
$this->db->join('users as usr','usr.users_id = reg.users_id','left');
$this->db->where('usr.users_status',1);
$this->db->where('reg.users_id',91);
$query = $this->db->get('users_gcm_registration as reg');
$query = $this->db->select('registration_id')
->distinct('registration_id')
->from('reg')
->get();
return $query->result();