[英]codeigniter search query with most recent time
我在db消息和messages_recipient中有兩個表
消息表具有以下列
message_id user_id消息created_at
messages_recipient表具有以下列
message_recipient_id user_id message_id
發送者ID存儲在消息中,接收者ID存儲在messages_recipient中
我有以下查詢來獲取發送給登錄用戶的消息
$this->db->select('messages.user_id');
$this->db->from('messages');
$this->db->join('messages_recipients','messages.message_id= messages_recipients.message_id');
$this->db->where( 'messages_recipients.user_id',$sende_id );
$query = $this->db->get();
它提供了所有發送給用戶的消息,但我想從同一用戶獲取最新發送給用戶的消息
$this->db->select('messages.user_id');
$this->db->from('messages');
$this->db->join('messages_recipients','messages.message_id = messages_recipients.message_id');
$this->db->where( 'messages_recipients.user_id',$sende_id );
$this->db->order_by("created_at", "desc");
$this->db->limit(2);
$query = $this->db->get();
可能對您有所幫助。在代碼點火器中按功能和限制使用順序,您將實現所需的功能。
您可以使用類似的查詢
$this->db->select('messages.user_id');
$this->db->from('messages');
$this->db->join('messages_recipients','messages.message_id= messages_recipients.message_id');
$this->db->where( 'messages_recipients.user_id',$sende_id );
$this->db->order_by("created_at", "desc");
$this->db->limit(1);
只需在這里我按日期的降序排列您的行,然后選擇第一行即最新行。
希望這可以解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.