当我使用逗号分隔的db中,每个人都建议我将表标准化,所以我将桌子归一化,现在我的表看起来像
tuitor table
tuitor_id | name | mobile |etc
1 | xyz |14562547|anyinputs
2 |abc |47545875|text
3 |abd |47854874|yyy
now my normalized table is tuitor_keyword
tuitor_keyword_id | id_tuitor | id_keyword
1 | 1 |123
2 | 1 |124
3 | 2 |123
4 | 2 |155
5 | 1 |187
在检索任何tuitor时,我想要逗号中的关键字,例如for id_tuitor = 1,应该是123,124
this is the query what i am using
$this->db->select('*')->from('tuitor');
$this->db->join('tuitor_keyword','tuitor.tuitor_id = tuitor_keyword.id_tuitor','left');
$query=$this->db->get();
return $result = $query->result_array();
它正在为tuitor_keyword_id创建新数组
concat_group是您的解决方案:
$this->db->query('SELECT id_tuitor, CONCAT_GROUP(id_keyword) AS gr FROM tuitor_keyword GROUP BY id_tuitor');
或:
$this->db->select('id_tuitor, CONCAT_GROUP(id_keyword) AS gr', false)->from('tuitor_keyword')->group_by('id_tuitor');