Группируйте результаты запроса CodeIgniter и создайте подмассив значений для каждой группы.Php

Кемеровские программисты php общаются здесь
Anonymous
Группируйте результаты запроса CodeIgniter и создайте подмассив значений для каждой группы.

Сообщение Anonymous »

Я использую Codeigniter, мне нужен запрос, который возвращает пользователей по группам.
В группе может быть один или несколько пользователей, вот примеры таблиц:

Код: Выделить всё

groups table        users table              users_by_groups table
id                  id                    id_group   id_user
1                   10                      1          10
2                   11                      1          11
3                   12                      1          12
2          11
3          12
запрос, который я сделал:

Код: Выделить всё

public function getUsersByGroup()
{
$this->db->select('g.vgro_name,u.vusr_user');
$this->db->from('vts_user_by_group b');
$this->db->join('vts_groups g', 'b.vubg_vgro_id = g.vgro_id');
$this->db->join('vts_users u', 'b.vubg_vusr_id = u.vusr_id');
$this->db->group_by('g.vgro_name,vusr_user');
// $this->db->order_by('u.vusr_user','asc');
$query = $this->db->get();
return $query->result();
}
что это возвращает:

Код: Выделить всё

0 =>
object(stdClass)[28]
public 'vgro_name' => string 'GROUP1' (length=4)
public 'vusr_user' => string 'john' (length=9)
1 =>
object(stdClass)[29]
public 'vgro_name' => string 'GROUP1' (length=4)
public 'vusr_user' => string 'alice' (length=4)
2 =>
object(stdClass)[30]
public 'vgro_name' => string 'GROUP2' (length=3)
public 'vusr_user' => string 'mark' (length=3)
а это не то, чего я хочу. Я притворяюсь, например:

Код: Выделить всё

 0 =>
object(stdClass)[31]
public 'vgro_name' => string 'GROUP1' (length=7)
public 'vusr_user' => string 'john' (length=7)
public 'vusr_user' => string 'alice' (length=7)

2 =>
object(stdClass)[30]
public 'vgro_name' => string 'GROUP2' (length=3)
public 'vusr_user' => string 'mark' (length=3)
Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/302 ... -per-group

Вернуться в «Php»