You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Medoo select查询仅返回1条聊天记录,如何获取两用户全部聊天数据

问题原因

你现有查询的AND条件仅匹配了from_user_id = 14 且 to_user_id = 13的单向消息,没有覆盖from_user_id = 13 且 to_user_id = 14的反向消息,因此仅返回1条结果。

解决方案

你需要使用嵌套的OR+AND条件,匹配双向收发的两种场景,正确的Medoo查询写法如下:

$database->select("chat_messages", "*", [
    "OR" => [
        ["AND" => ["from_user_id" => 13, "to_user_id" => 14]],
        ["AND" => ["from_user_id" => 14, "to_user_id" => 13]]
    ],
    "ORDER" => ["msg_time" => "DESC"]
]);

这个查询逻辑会匹配两类消息:

  • 用户13发送给用户14的消息
  • 用户14发送给用户13的消息
    对应你的测试数据可以返回全部2条聊天记录,符合预期需求。

内容的提问来源于stack exchange,提问作者Fabrice Ibols

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 11:39:04