Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在数据库中插入唯一的IP地址_Php_Laravel_Laravel 4_Php 5.3_Php 5.4 - Fatal编程技术网

Php 在数据库中插入唯一的IP地址

Php 在数据库中插入唯一的IP地址,php,laravel,laravel-4,php-5.3,php-5.4,Php,Laravel,Laravel 4,Php 5.3,Php 5.4,我有个问题。我想在数据库中插入每位访问者的ip地址和访问日期,但每次刷新页面或打开新闻时都会插入ip。 我的代码: 新闻控制器: public function __construct(){ $this->beforeFilter('csrf', array('on'=>'post')); $sIpAddress = Visitors_lib::getIp(); $dDateVisit = time("Y/m/d H:i:s"); $oVisi

我有个问题。我想在数据库中插入每位访问者的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);
}
访问者模型:

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'));
    }
}

使该ip字段在数据库中唯一ip addrese在现实世界中应该是唯一的,因此在dbI中使其唯一获取错误:SQLSTATE[23000]:完整性约束冲突:1062重复条目“10.0.2.2”对于密钥“ipaddresse”,您可能受益于使用重复密钥更新时插入,这将插入ip地址,但如果它已经存在,请更新它的特定字段record@DannyHearnah-OP没有说要更新任何东西。