如何 Select 并将两个 table 与 codeigniter 中的最后一条记录连接起来

How To Select And Join two table with last record in codeigniter

我想将 ticket_message table 中的最后一行 is_read 列加入门票 table。 我使用了这个示例代码,结果没有按 id 排序。

SELECT t.*,m.is_read
FROM tickets AS t
LEFT JOIN ticket_message AS m ON t.id = m.ticket_id 
LEFT JOIN ticket_message AS m1 ON m.ticket_id = m1.ticket_id 
               AND m.id < m1.id
WHERE m1.id IS NULL
$this->db->select('t.*,m.is_read');
$this->db->from('tickets as t');
$this->db->join('ticket_message as m', 't.id = m.ticket_id', 'left'); 
$this->db->join('ticket_message as m1', 'm.ticket_id = m1.ticket_id AND m.id < m1.id', 'left'); 
$this->db->where('m1.id IS NULL', null, false);
$query = $this->db->get();
return $query;

我该怎么办。

按 ID 排序?我假设您的意思是按 ID 排序。在这种情况下,您只需将其添加到构建查询中:

$this->db->order_by('t.id', 'ASC');

您的整个查询:

$this->db->select('t.*,m.is_read');
$this->db->from('tickets as t');
$this->db->join('ticket_message as m', 't.id = m.ticket_id', 'left'); 
$this->db->join('ticket_message as m1', 'm.ticket_id = m1.ticket_id AND m.id < m1.id', 'left'); 
$this->db->where('m1.id IS NULL', null, false);
$this->db->order_by('t.id', 'ASC');
$query = $this->db->get();
return $query;