我正在尝试加入两个表并计算与消息相关的 messageFiles 的所有结果 我有以下结构的表:
讯息:
id
name
email
subject
message
date_added
read
messagesFiles
id
name
message_id
date_added
我正在尝试使用此代码,但我总是得到结果 countFiles = 1并且对于与其相关的每个文件重复消息(例如,如果我有消息的3个文件,将重复3次)。此查询也不会选择没有文件的消息。什么似乎是一个问题?
$this->db->select("SQL_CALC_FOUND_ROWS *, messages.*, COUNT(messagesFiles.id) as countFiles", FALSE)->from('messages')
->join('messagesFiles', "messagesFiles.message_id = messages.id")
->where("messages.read", 1)
->group_by('messagesFiles.id')->get()->result_array();
答案 0 :(得分:0)
您可以尝试下面的代码,然后添加return $this->db->count_all_results()
。
http://www.codeigniter.com/docs
http://www.codeigniter.com/userguide2/database/active_record.html
public function count_test() {
$this->db->select("*");
$this->db->from('category c');
$this->db->join('category_description cd', "cd.category_id = c.category_id");
return $this->db->count_all_results();
}