我有以下表格:
extra_questions:
和extra_examples:
我希望加入并连接它们以便我返回所有问题,但在每个问题中,我会显示一个包含extra_examples中所有问题标签的下拉列表。
我目前有这个陈述(使用codeigniter / activerecord):
$this->db->select('extra_questions.*, GROUP_CONCAT(extra_examples.tag) as tag',FALSE);
$this->db->from('extra_questions');
$this->db->join('extra_examples','extra_questions.id = extra_examples.question','left outer');
$this->db->group_by('extra_examples.question');
$this->db->order_by('extra_questions.id');
$query = $this->db->get();
return $query->result_array();
以$ question返回。但是,当我循环讨论$问题时:
<?php foreach ($questions as $i=>$questions_item): ?>
<?php print_r($questions_item['id']); print_r($questions_item['tag']); echo '<br/><br/>' ?>
<?php endforeach ?>
我得到了一些奇怪的结果:
2flower,insect
3
我期待的地方:
2flower昆虫 3 4
但完全没有4。我想确保回复所有问题。我做错了什么?
答案 0 :(得分:1)
您的论坛应该在extra_questions.id而不是extra_examples.quesion
答案 1 :(得分:0)
你应该改变
$this->db->group_by('extra_examples.question');
到
$this->db->group_by('extra_questions.id');
因为问题4的extra_examples.question
为NULL。