功能以获取5分钟前插入DB的消息



好的,因此,当我发送消息时,它会将消息插入数据库中。几分钟后,Webhook运行并将同一消息插入DB

我只想插入一条消息,所以我像这样旋转代码

$response = $this->messages_model->search_messages_five_mins_ago($recivernum,$msg);
if(!$response) {
    $newId = $this->Customer_m->insert_emaildata($add_email);
};

,但存在问题创建功能。到目前为止,我有这个

public function search_messages_five_mins_ago($number,$msg)
{
$this->db->select('*');
$this->db->from('messages');
$this->db->where('receiver_num',$number);   
$this->db->where('content',$msg);
// and created_at betteen now() -10 mins and now 
$query = $this->db->get();
return $query->result_array();
}

我不想在最近10分钟内插入消息

是否插入消息

请任何想法,请感谢

简单的php进行救援,您需要的是datestrtotime来确定" 10分钟前"是什么。

另外,我建议一种更好的方法来确定查询是否发现某些内容:

public function search_messages_five_mins_ago($number,$msg)
{
$this->db->select('*');
$this->db->from('messages');
$this->db->where('receiver_num',$number);   
$this->db->where('content',$msg);
$this->db->where('created_at >=', date('Y-m-d H:i:s',strtotime('Y-m-d H:i:s'."-10 minute")));
$query = $this->db->get();
if ($query->num_rows() == 0)
{
    // nothing found. You can do whatever you'd normally do
    return false;
}
else
{
    return $query->result_array();
}

这将找到"现在减10分钟"之后创建的匹配消息。如果没有找到或返回消息,请返回false。

在您的控制器中,我会使用

if($response == false) {
    $newId = $this->Customer_m->insert_emaildata($add_email);
};

相关内容

最新更新