我使用简单的连接从两个数据库中提取数据。这是模型中的连接:
function com_control(){
$this->db->select('*');
$this->db->from('comments');
$this->db->join('posts', 'comments.entry_id = posts.id');
$query = $this->db->get();
return $query->result;
}
我想要的显示方法将在一个表格中,所以我开始像这样使用:
foreach($comm_control as $row){
$this->table->add_row(
$row->entry_id,
$row->comments.id,
$row->comment,
$row->title
);
}//end of foreach
我的问题是来自comments.id的数据显示。将comment.id添加到表格行的正确格式是什么?我需要来自两个表的ID,以便在表格中进一步显示,编辑和删除。我此时为“comment.id”获得的唯一显示是单词id。
任何帮助都将不胜感激。
答案 0 :(得分:6)
好的,我认为您需要做的是在评论表中为id字段设置别名:
function com_control() {
$this->db->select('entry_id, comments.id AS comment_id, comment, title');
$this->db->from('comments');
$this->db->join('posts', 'comments.entry_id = posts.id');
$query = $this->db->get();
return $query->result;
}
然后您可以将comments.id字段引用为$ row-> comment_id:
$this->table->set_heading('Entry ID', 'Comment ID', 'Comment', 'Title');
foreach ($comm_control as $row ) {
$this->table->add_row(
$row->entry_id,
$row->comment_id,
$row->comment,
$row->title
);
}
echo $this->table->generate();
实际上,如果列'id'对于comments表是唯一的,那么你可以使用$ row-> id;当您连接的表都具有相同的列时,就会出现问题;它变得模棱两可,计算机也不会知道你所引用的内容。