我有三个表格问题,答案和意见,其中有多个答案,同一个问题和许多意见,以一个单一的答案。
我想展示谁回答了这个问题,谁对这个答案发表了评论。
以及我想显示谁回答了用户和用户谁评论了相同的答案。
所以,请帮助我加入同一个用户表两次在两个表的答案和意见。
表:问题:id、文本、用户id(fk)
表:答案:id、que\ U id(fk)、user\ U id(fk)、text
表:注解:id、ans\u id(fk)、user\u id(fk)、text
表:用户:id,名称
$this->db->select('answers.id as aid,
answers.user_id as auser_id,
answers.text as atext,
comments.id as cid,
comments.user_id as cuser_id,
comments.text as ctext,
users.id as uid,
users.name as uname');
$this->db->from('answers');
$this->db->join('users','answers.user_id = users.id', 'left');
$this->db->join('ans_comments','answers.id = comments.ans_id', 'left');
$this->db->join('users','comments.user_id = users.id', 'left');
$this->db->where('que_id','1');
return $this->db->get();
我的问题是:
我得到的所有评论都是同一个用户。
我需要不同的评论员发表不同的评论。
1条答案
按热度按时间dluptydi1#
如果要两次联接同一个表,则应使用不同的名称:
测试
如果您注意到我为每个连接使用了不同的名称,并使用该名称来获取相关数据,那么如果您希望使用用户名作为答案,您将使用
UA.name
如果你想用它来评论你的用户UC.name
,它为您提供了所需的所有灵活性。