在数据库中插入唯一的ipaddress

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在数据库中插入唯一的ipaddress相关的知识,希望对你有一定的参考价值。

我有个问题。我想在我的数据库中插入每个访问者的IP地址和访问日期,但每次刷新页面或打开新闻时都会插入ip。我的代码:新控制器:

public function __construct(){
     $this->beforeFilter('csrf', array('on'=>'post'));
     $sIpAddress = Visitors_lib::getIp();
     $dDateVisit = time("Y/m/d H:i:s");
     $oVisitor = new Visitors();
     $bInsert = $oVisitor->addVisitor($sIpAddress,$dDateVisit);
}

VisitorsModel:

public function addVisitor($sIpAdress,$dDate){
    $oVisitor = new Visitors();
    $oVisitor->ipaddress = $sIpAdress;
    $oVisitor->date = $dDate;
    $oVisitor->save();
}

所以我想只插入一个ip。在这种情况下,当我点击新闻时,ip被插入到数据库中,因此对于访问者1单击= 1插入。

答案

在输入之前检查它是否已经存在:

public function addVisitor($ipaddresse, $date)
{
    if ( ! $this->where(compact('ipaddresse'))->first())
    {
        static::create(compact('ipaddresse', 'date'));
    }
}

以上是关于在数据库中插入唯一的ipaddress的主要内容,如果未能解决你的问题,请参考以下文章

KDoc:插入代码片段

代码片段使用复杂的 JavaScript 在 UIWebView 中插入 HTML?

游戏服务器生成全局唯一ID的几种方法

游戏服务器生成全局唯一ID的几种方法

游戏服务器生成全局唯一ID的几种方法

为什么我不能在此片段中生成唯一对象数组?